LNK1104:无法打开文件 'C:\Program Files (x86)\Windows Kits\10\\lib.obj'

Posted

技术标签:

【中文标题】LNK1104:无法打开文件 \'C:\\Program Files (x86)\\Windows Kits\\10\\\\lib.obj\'【英文标题】:LNK1104: cannot open file 'C:\Program Files (x86)\Windows Kits\10\\lib.obj'LNK1104:无法打开文件 'C:\Program Files (x86)\Windows Kits\10\\lib.obj' 【发布时间】:2020-10-23 07:08:41 【问题描述】:

我正在为 Visual Studio 2019(社区版)中的 C++ 库生成一个 GoogleTest 项目,并通过向导创建它。

我已设置项目/属性/链接器/附加依赖项 = $(WindowsSdkDir)\lib; 解决初始链接器错误(LNK1104: cannot open file 'libcpmtd.lib')。我现在得到:

1>LINK : fatal error LNK1104: cannot open file 'C:\Program Files (x86)\Windows Kits\10\\\\lib.obj'

我该如何解决这个问题? (我注意到这条路径中有一个双斜杠:需要安装一些东西?可能是一个环境变量?)

我尝试将 /VERBOSE 添加到命令行,但没有得到更多信息。

【问题讨论】:

为什么会有双斜线?我建议您尝试更改为单斜杠。您可以参考此link 了解更多信息。 出现双反斜杠是因为宏 $(WindowsSdkDir) 已经包含尾部反斜杠(因此您应该使用 $(WindowsSdkDir)lib,而不是 $(WindowsSdkDir)\lib)。但是,Additional Dependencies 字段用于指定单个 LIB 文件;对于文件夹,有 Additional Library Directories 字段。此外,libcpmtd.lib 的问题可能是由不匹配的运行时库构建类型引起的:可能 GoogleTest 库链接到静态调试运行时(参见 mtd 后缀),而您的测试项目链接到动态调试甚至发布运行时。 【参考方案1】:

将库添加到属性页 -> 链接器 -> 常规中的路径,如果已添加,请尝试将其包含在属性页 -> 链接器 -> 输入中。 如果你不喜欢使用斜线,Visual Studio 有宏,或者只是复制并粘贴路径。

【讨论】:

以上是关于LNK1104:无法打开文件 'C:\Program Files (x86)\Windows Kits\10\\lib.obj'的主要内容,如果未能解决你的问题,请参考以下文章

错误 LNK1104:无法打开文件 'aocl_utils.lib'

LNK1104 无法打开文件'python39_d.lib'

链接:致命错误 LNK1104:无法打开文件 'ucrt.lib'

为啥我收到错误 LNK1104:无法打开文件 'glew32.lib'

链接:致命错误 LNK1104:无法打开文件“Iphlpapi.lib”

错误:LNK1104:无法打开文件“vtkCommonCore-6.2.lib”