Компиляция примеров раскладки клавиатуры Microsoft

Я хотел бы создать раскладку клавиатуры, которая работает на Win7 и более поздних версиях без использования MSKLC.

Я загрузил примеры раскладки клавиатуры, и хотя там написано требуется предварительная версия VS2013 и предварительная версия WDK8.1, она собирается с использованием VS2012 и WDK8 после изменения свойства «Набор инструментов платформы» с «WindowsApplicationForDrivers8.1» на «WindowsApplicationForDrivers8.0».

Но: проверка kbdus.dll, созданного с помощью средства просмотра зависимостей, показывает, что он импортирует довольно много материала из kernel32.dll и из msvcr110.dll. Это в отличие от kbdus.dll из каталога Windows\system32, который, как и следовало ожидать, ничего не импортирует и экспортирует одну-единственную функцию.

Мой первый вопрос: проблема в том, что встроенная dll импортирует из msvcr110.dll?

Я думаю, что это так, поскольку Win7 не включает эту dll. (Честно говоря, мне интересно, как такое может быть, ведь это официальные образцы Microsoft.)

Поработав с настройками компилятора и компоновщика, мне удалось избавиться от импорта из msvcr110.dll, но созданная dll по-прежнему импортирует много материала и довольно велика (> 70 КБ) по сравнению с исходной kbdus.dll (7 КБ). То же самое с x86 и x64, сборками Debug и Release. Я ищу переключатель /compileandlinkanddonothingfancy.

Мой второй вопрос: как правильно построить эти dll?

(Примечание: я нашел этот вопрос, но он касается WDK7. Это будет быть тем, что я попробую дальше, если я не получу его с WDK8.0)


person Martin    schedule 28.06.2013    source источник


Ответы (1)


Я думаю, что нужно передать /noentry компоновщику.

person Martin    schedule 01.07.2013
comment
Да, я могу подтвердить это исправление. Спасибо! - person Der Vogel; 21.05.2018