为什么致命的错误"LNK1104:不能打开文件'C:\Program.obj'"发生的时候我汇编C++的项目中视工作室吗?
-
02-07-2019 - |
题
我已经创建了一个新C++项目在Visual Studio2008年。没有代码已被写入;只有项目的设置已经改变。
当我汇编的项目,我收到以下致命的错误:
致命的错误LNK1104:不能打开文件'C:\Program.obj'
解决方案
此特定问题是由对其路径中包含空格的lib文件指定依赖项引起的。该路径需要用引号括起来,以便项目正确编译。
在配置属性 - >链接器 - >项目属性的输入选项卡,有附加依赖项属性。通过从以下位置更改此属性来解决此问题:
C:\ Program Files \ sofware SDK \ lib中\ library.lib
要:
" C:\ Program Files \ sofware SDK \ lib中\ library.lib"
我添加了引号。
其他提示
如果文件仍在运行,则会发生这种情况。
: - 1:错误:LNK1104:无法打开文件'debug \ ****。exe'
关闭并重新打开Visual Studio后问题就消失了。不确定问题发生的原因,但这可能值得一试。
这是VS 2013 Ultimate,Windows 8.1。
还要检查您是否未启用此选项:配置属性 - > C / C ++ - >预处理器 - >预处理到文件。
我有同样的问题。它是由“,”引起的。在附加库路径的文件夹的名称。它通过更改其他库路径解决。
我的问题是缺少 .lib
扩展名,我只是链接到 mylib
,VS决定寻找 mylib.obj
。
在我的情况下,这是一个误导的参考问题。 Project引用了另一个项目的输出,但后者没有输出前者正在寻找的文件。
对于装配项目(ProjectName - >构建依赖关系 - >构建自定义 - > masm(已选择)),将生成预处理源列表设置为 True 对我来说也是问题,清除设置修复它。 VS2013在这里。
我遇到链接器抱怨主要可执行文件丢失的问题。这发生在我们的解决方案端口到新的 Visual Studio 2013 期间。解决方案是托管和非托管项目/代码的各种组合。问题(和修复)最终成为解决方案文件夹中缺少的 app.config 文件。花了一天时间来解决这个问题:(因为输出日志不是很有帮助。
我根据此列表检查了所有设置: http:// msdn.microsoft.com/en-us/library/ts7eyw4s.aspx#feedback 。这对我和我的情况很有帮助,我发现项目属性的链接依赖性是双引号,不应该存在。
我遇到了同样的错误,只是安装了一个Nuget软件包(一个不是标头),然后尝试卸载。
对我来说错误的是我仍然在我的一个.cpp文件中包含了我刚刚卸载的软件包的标题(非常愚蠢,是的)。
我甚至在 Project - >中删除了附加的库目录链接。属性 - >链接器 - >一般
,但当然无济于事,因为我还在尝试引用不存在的标题。
在这种情况下肯定是一个令人困惑的错误消息,因为标题名称是< boost / filesystem.hpp>
但是错误给了我“无法打开文件”llibboost_filesystem-vc140- mt-gd-1_59.lib'"
,没有行号或任何内容。
我遇到了同样的问题,但我的案例的解决方案没有在答案中列出。
我的防病毒程序(AVG)将文件 MyProg.exe
确定为病毒并将其放入“病毒库”。您需要检查此仓库以及文件是否存在 - 然后只需恢复它。它帮助了我。
解决方案1(对于我的情况):重新启动Windows资源管理器进程(是的,Windows文件管理器)。
解决方案2:
- 关闭Visual Studio。 Windows注销
- 登录,重新打开Visual Studio
- 像往常一样建造。它现在可以构建并可以访问有问题的文件。 醇>
我认为有时文件系统或控制它的人会因其权限而丢失。在重新启动Windows会话之前,尝试杀死zombie msbuild32.exe
进程,重新启动visual studio,检查没有显示问题文件。没有构建配置问题。它偶尔会发生。 Windows中的一些内部功能无法修复,需要重新启动。
我正在回答,因为我没有看到其他任何人列出此特定解决方案。
显然我的防病毒软件(Ad-Aware)正在标记我的一个项目所依赖的DLL,并将其删除。即使排除了DLL所在的目录,在我重新启动计算机之前,同样的行为仍然存在。
在我的情况下,我用GLM替换了以前的Game Engine Graphics课程中的数学库文件。问题是我没有将它们添加到Visual Studio的Solution Explorer中的项目中(即使它们在项目存储库中)。
我将此问题与LNK2038错误结合使用,此后发布以隔离RELEASE和DEBUG DLL。在这个过程中,我清理了这些依赖项所在的整个文件夹。
幸运的是,我备份了所有这些文件,并将此错误重新放入DEBUG文件夹的文件解决了问题。错误代码在某种程度上具有误导性,因为我不得不花费大量时间再次从这篇文章的答案中得出这个提示。
希望这个答案,帮助有需要的人。
我通过添加 现有项目 解决方案解决了这个问题,我忘记了第一次添加。
我有同样的错误:
fatal error LNK1104: cannot open file 'GTest.lib;'
这是由最后的;
引起的。如果你有多个库,它们应该用空格(空格键)分隔,不能用逗号或分号!
因此,在项目属性>>中列出库时,请不要使用;
或任何其他内容。配置属性>>链接器>>输入
我打了同样的问题"Visual Studio2013".
LNK1104: cannot open file 'debug\****.exe
这解决之后关闭和重新开始Visual studio.
我遇到了同样的问题,我刚刚将代码复制到新项目并开始构建。 其他一些错误开始了。 错误C4996:'fopen':此函数或变量可能不安全。考虑使用fopen_s而不是
为了再次解决这个问题,我在Project项目中添加了我的一个属性,如下所示。 项目 - >属性 - >配置属性 - > c / c ++。 在此类别中,有字段名称预处理器定义 我已经添加了_CRT_SECURE_NO_WARNINGS来解决这个问题 希望它会有所帮助...
谢谢