【问题标题】:"LNK1104 Cannot open file 'kernel32.lib' " when Windows SDK version is set to 15063.13当 Windows SDK 版本设置为 15063.13 时,“LNK1104 无法打开文件 'kernel32.lib'”
【发布时间】:2017-04-15 04:08:23
【问题描述】:

我在 Visual Studio 2017 中使用 C++,最近刚刚将 Windows 10 从周年更新更新为创作者更新。

我偶然发现在编译一个DLL项目的时候,我会得到错误信息:

LNK1104 - cannot open file 'kernel32.lib'

在“项目属性”中稍作调整后,我注意到如果将 Windows SDK 版本从10.0.14393.0 设置为10.0.15063.0,则会出现错误消息。如果我把它设置回10.0.14393.0,我可以编译就好了。

我想知道为什么当 Windows SDK 版本设置为 Creator's Update 构建版本时,它会抛出此错误消息,但如果设置回周年更新的构建版本,它却不会?

谢谢。

【问题讨论】:

标签: c++ windows visual-studio


【解决方案1】:

https://developercommunity.visualstudio.com/content/problem/41913/link-fatal-error-lnk1104-in-empty-c-project.html

Windows 10 创意者更新 SDK 对 作为安装的一部分安装什么以最小化磁盘上的 脚印。这是该重构导致的已知问题 在 Creators Update SDK 的“桌面”组件不支持的地方工作 默认安装。以前的新项目逻辑总是 选择了最新的 Windows 10 SDK,假设桌面部分是 作为该安装方案的一部分安装。我们正在研究一个 为将来的更新修复。

可用的解决方法如下:

  1. 在项目属性中选择已完全安装在系统上的 Windows 10 SDK 版本(即 10.0.14393.0 或更早版本)

  2. 通过 Visual Studio 安装程序安装“Windows 10 SDK (10.0.15063.0) for Desktop”组件。 win10sdk-15063desktop.png

丹尼尔·格里芬,

Visual C++ 库

【讨论】:

  • 谢谢。这就是我对这个问题的解释所需要的全部内容。
【解决方案2】:

老实说,我有同样的问题,看起来像是 VS 2017 中的一个错误。只需切换到 10.0.10586.0

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-03-02
    • 2014-01-30
    • 2012-11-10
    • 1970-01-01
    • 1970-01-01
    • 2017-01-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多