我想构建一个在 Win7 及更高版本上运行而不使用 MSKLC 的键盘布局。
我下载了键盘布局示例,虽然它说它需要 VS2013 Preview 和 WDK8.1 Preview,但在将“Platform Toolset”属性从“WindowsApplicationForDrivers8.1”更改为“WindowsApplicationForDrivers8.0”后,它使用 VS2012 和 WDK8 构建。
但是:检查kbdus.dll
使用 Dependency Viewer 构建的内容表明它kernel32.dll
从msvcr110.dll
. 这与kbdus.dll
fromWindows\system32
目录形成对比,正如人们所预料的那样,它不导入任何东西并导出一个单一的功能。
我的第一个问题:构建的 dll 是从中导入的问题msvcr110.dll
吗?
我想是的,因为Win7不包含这个dll。(老实说,我想知道这是怎么回事,因为这些是 Microsoft 官方示例。)
调整编译器和链接器设置后,我设法摆脱了 from 的导入msvcr110.dll
,但是构建的 dll 仍然导入了很多东西,并且与原始 (7kB) 相比相当大 (> 70kB kbdus.dll
)。x86 和 x64、调试和发布版本也是如此。我在找/compileandlinkanddonothingfancy
开关。
我的第二个问题:如何正确构建这些 dll?
(注意:我发现了这个问题,但它是关于 WDK7 的。如果我没有用 WDK8.0 得到它,那将是我接下来尝试的)