为什么致命的错误"LNK1104:不能打开文件'C:\Program.obj'"发生的时候我汇编C++的项目中视工作室吗?

StackOverflow https://stackoverflow.com/questions/133698

  •  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:

  1. 关闭Visual Studio。 Windows注销
  2. 登录,重新打开Visual Studio
  3. 像往常一样建造。它现在可以构建并可以访问有问题的文件。
  4. 我认为有时文件系统或控制它的人会因其权限而丢失。在重新启动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来解决这个问题 希望它会有所帮助...

谢谢

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top