当 Windows SDK 版本设置为 15063.13 时,“LNK1104 无法打开文件 'kernel32.lib'”

Posted

技术标签:

【中文标题】当 Windows SDK 版本设置为 15063.13 时,“LNK1104 无法打开文件 \'kernel32.lib\'”【英文标题】:"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 构建版本时,它会抛出此错误消息,但如果设置回周年更新的构建版本,它却不会?

谢谢。

【问题讨论】:

修复/重新安装 Win10 SDK 15063: developer.microsoft.com/en-us/windows/downloads/windows-10-sdk 【参考方案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,假设桌面部分是 作为该安装方案的一部分安装。我们正在研究一个 为将来的更新修复。

可用的解决方法如下:

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

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

丹尼尔·格里芬,

Visual C++ 库

【讨论】:

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

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

【讨论】:

以上是关于当 Windows SDK 版本设置为 15063.13 时,“LNK1104 无法打开文件 'kernel32.lib'”的主要内容,如果未能解决你的问题,请参考以下文章

使用 cookie 重定向的 WebRequest 不起作用(Windows Build 15063)

bitblt 在 Windows 10 版本 1703 (15063.138) 上失败

VS2017报错 MSB803MSB8036 找不到 Windows SDK 版本8.1

Visual Studio 2017 中的 Windows SDK 版本设置

windows 10 sdk安装求助

Windows SDK 7.1 安装失败