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'