【问题标题】:Compiling Microsoft Keyboard Layout Samples编译 Microsoft 键盘布局示例
【发布时间】:2013-06-26 04:16:51
【问题描述】:

我想构建一个在 Win7 及更高版本上运行而不使用 MSKLC 的键盘布局。

我下载了Keyboard Layout Samples,虽然它说它需要 VS2013 Preview 和 WDK8.1 Preview,但在将“Platform Toolset”属性从“WindowsApplicationForDrivers8.1”更改为“WindowsApplicationForDrivers8.0”后,它使用 VS2012 和 WDK8 构建.

但是:检查使用 Dependency Viewer 构建的 kbdus.dll 会发现它从 kernel32.dllmsvcr110.dll 导入了很多东西。这与来自Windows\system32 目录的kbdus.dll 形成对比,正如人们所预料的那样,它不导入任何内容并导出一个函数。

我的第一个问题:构建的 dll 从 msvcr110.dll 导入是否存在问题?

我猜是的,因为 Win7 不包含这个 dll。 (老实说,我想知道这是怎么回事,因为这些是 Microsoft 官方示例。)

调整编译器和链接器设置后,我设法摆脱了来自 msvcr110.dll 的导入,但构建的 dll 仍然导入了很多东西,而且与原来的 kbdus.dll 相比相当大(> 70kB)( 7kB)。 x86 和 x64、调试和发布版本也是如此。我正在寻找/compileandlinkanddonothingfancy 开关。

我的第二个问题:如何正确构建这些 dll?

(注意:我找到了this question,但它是关于 WDK7 的。如果我没有用 WDK8.0 得到它,那将是我接下来尝试的)

【问题讨论】:

    标签: windows wdk keyboard-layout


    【解决方案1】:

    我认为应该将/noentry 传递给链接器。

    【讨论】:

    • 是的,我可以确认此修复。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2018-10-31
    • 2011-09-28
    • 1970-01-01
    • 2020-12-01
    • 2018-07-21
    • 2010-11-19
    • 2020-07-29
    • 1970-01-01
    相关资源
    最近更新 更多