我想构建一个在Win7上运行但不使用MSKLC的键盘布局。
我下载了Keyboard Layout Samples,虽然它说它需要VS2013预览版和WDK8.1预览版,但在将“平台工具集”属性从“WindowsApplicationForDrivers8.1”更改为“WindowsApplicationForDrivers8”之后,它使用VS2012和WDK8进行构建。 0" 。
但是:检查使用依赖关系查看器构建的kbdus.dll
会发现它从kernel32.dll
和msvcr110.dll
导入了大量内容。这与kbdus.dll
目录中的Windows\system32
形成对比,正如人们所预料的那样,它不会导入任何内容并导出单个函数。
我的第一个问题:dll构建的问题是从msvcr110.dll
导入的吗?
我想是的,因为Win7不包含这个dll。 (老实说,我想知道这是怎么回事,因为这些是微软的官方样本。)
使用编译器和链接器设置进行调整,我设法摆脱msvcr110.dll
的导入,但是与原始版本相比,构建的dll仍会导入很多东西并且相当大(> 70kB) {1}}(7kB)。它与x86和x64,Debug和Release版本相同。我正在寻找kbdus.dll
开关。
我的第二个问题:如何正确构建这些dll?
(注意:我找到了this question,但它是关于WDK7的。如果我没有用WDK8.0得到它,那将是我接下来要尝试的东西)
答案 0 :(得分:1)
我认为应该将/noentry
传递给链接器。