2013-06-28 2 views
0

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

Я скачал Keyboard Layout Samples, и, хотя он говорит, что это требует VS2013 Предварительный просмотр и WDK8.1 Preview, он строит с помощью VS2012 и WDK8 после изменения свойства «Платформа Toolset» от «WindowsApplicationForDrivers8.1» до «WindowsApplicationForDrivers8.0».

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

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

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

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

Мой второй вопрос: как эти библиотеки будут построены правильно?

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

ответ

0

Я думаю, что один должен пройти /noentry линкера ,