Компилиране на примери за оформление на клавиатурата на Microsoft

Бих искал да създам клавиатурна подредба, която да работи на Win7 и по-нови версии, без да използвам MSKLC.

Изтеглих примери за оформление на клавиатурата и въпреки че пише, че изисква VS2013 Preview и WDK8.1 Preview, той се изгражда с помощта на VS2012 и WDK8 след промяна на свойството "Platform 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 все още импортира много неща и е доста голяма (> 70kB), в сравнение с оригиналния kbdus.dll (7kB). Същото е с 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