为什么致命错误“LNK1104:无法打开文件‘C:\\ Program.obj’”当我编译在Visu

2019-06-21 04:19发布

我创建了Visual Studio 2008中新的C ++项目中没有任何代码已被写入尚未; 只有项目设置已更改。

当我编译项目,我收到以下致命错误:

致命错误LNK1104:无法打开文件“C:\ Program.obj”

Answer 1:

这种特殊的问题是通过指定的依赖于在其路径有空格的LIB文件引起的。 该路径必须用引号引起来为项目正确编译。

配置属性- >链接器- >项目的属性的输入选项卡,还有一个附加依赖属性。 这个问题是固定由更改此属性:

C:\ Program Files文件\ sofware SDK \ LIB \ library.lib

至:

“C:\ Program Files文件\ sofware SDK \ LIB \ library.lib”

当我加引号。



Answer 2:

如果该文件仍在运行,以及可能发生这种情况。

:-1:错误:LNK1104:无法打开文件 '调试\ **** EXE'



Answer 3:

关闭并重新打开Visual Studio中后,问题消失了我。 不知道为什么发生问题,但可能是值得一试。

这是在VS 2013旗舰版,Windows 8.1。



Answer 4:

检查还你没有这个开启: 配置属性- > C / C ++ - >预处理器- >预处理到文件中



Answer 5:

我在通过改变附加库路径解决额外的库path.It的文件夹的名称引起的“”同problem.It。



Answer 6:

我的问题是缺少.lib扩展,我只是链接到的mylib和VS决定找mylib.obj



Answer 7:

就我而言,这是一个错误指向的参考的问题。 项目引用的另一个项目的输出,但后者没有输出,其中前者是要找的文件。



Answer 8:

对于总装项目(项目名- >编译依赖- >构建自定义- > MASM(选择)),设置生成预处理后的上市对我造成的问题太多,清除设置固定它。 VS2013在这里。



Answer 9:

我碰到与接头抱怨主要可执行文件丢失了同样的问题。 这事我们的解决方案移植到新的Visual Studio 2013中。 该解决方案是管理和未管理的项目/代码多样化组合。 问题(和修复)结束了在解决方案文件夹丢失的app.config文件。 花了一天推测这一个:(,作为输出的日志是不是非常有帮助。



Answer 10:

:我根据这个名单检查了所有我的设置http://msdn.microsoft.com/en-us/library/ts7eyw4s.aspx#feedback 。 这有助于我和我的情况,我发现,项目的性质的连接依赖性有双引号,这不应该在那里。



Answer 11:

我有同样的错误,只是一个NuGet包我已经安装了(一个不只有头),然后试图卸载。
什么是错误的,我是,我仍然包括我刚刚卸载在我的cpp文件一个包报头(非常愚蠢的,是的)。
我甚至去掉附加库目录链接到它的Project -> Properties -> Linker -> General ,但当然没有用,因为我还在试图引用不存在的标头。

当然在这种情况下,一个令人困惑的错误消息,因为标题名称是<boost/filesystem.hpp>但这个错误给我"cannot open file 'llibboost_filesystem-vc140-mt-gd-1_59.lib'"并没有行号或任何东西。



Answer 12:

我有同样的问题,但我的情况的解决方案是不是在答案中列出。 我的防病毒程序(AVG)确定文件MyProg.exe为病毒,并把它放进“病毒库”。 您需要检查该库,如果文件是存在的 - 然后就恢复了。 它帮了我。



Answer 13:

方案1(我的情况):重新启动Windows资源管理器进程(是的,Windows文件管理器)。

方案2:

  1. 关闭Visual Studio中。 退出Windows
  2. 登录,重新打开Visual Studio中
  3. 构建如常。 现在建立并可以访问问题的文件。

我相信有时文件系统或谁是控制它就会用它的权限丢失。 重新启动Windows会话前,试图杀死僵尸msbuild32.exe流程,重新启动Visual Studio,检查甚至没有显示对这个问题的文件。 没有构建配置的问题。 现在再发生。 Windows中的某些内部的事情没有解决了,需要重新启动。



Answer 14:

我回答,因为我没有看到任何人列在这个特定的解决方案。

显然,我的防病毒(Ad - Aware的)被标记一个DLL我的项目之一取决于,并删除它。 即使剔除该DLL生活的目录后,同样的行为一直持续到我重新启动我的电脑。



Answer 15:

就我而言,我已经从以前的游戏引擎的图形当然与GLM代替数学库的文件。 问题是,我没有把它们添加到Visual Studio的解决方案资源管理器中的项目(即使他们在项目档案库)。



Answer 16:

我与LNK2038错误一起过这个问题,遵循了这一职位来隔离的版本和调试的DLL。 在这个过程中我已经清理这些地方都依赖居住的整个文件夹。

幸运的是,我把所有这些文件的备份,并得到了该错误被扔回到debug文件夹来解决问题的文件。 错误代码在某种程度上有误导性,因为我不得不花费大量的时间再次来到这个技巧从这个职位的答案之一。

希望这个答案,帮助别人需要的人。



Answer 17:

加入一个现有的项目 ,以我的解决方案 ,我忘了在第一时间添加解决它。



Answer 18:

我有同样的错误:

fatal error LNK1104: cannot open file 'GTest.lib;'

这是由引起的; 在末尾。 如果你有多个库,他们应该通过空白(空格键)分隔,没有逗号或者分号!

所以,请不要使用; 或者任何别的在项目属性上市库时>>配置属性>>链接>>输入



Answer 19:

我打了同样的问题“的Visual Studio 2013”​​。

LNK1104: cannot open file 'debug\****.exe

它关闭并重新启动Visual Studio之后解决。



Answer 20:

我有同样的问题,我刚才复制的代码,新的项目,并开始构建。 其他一些错误开始大量涌现。 错误C4996:“的fopen”:此函数或变量可能是不安全的。 考虑使用fopen_s代替

为了再次解决这个问题,我在下面的工程项目加入我的一个属性。 项目 - >属性 - >配置属性 - > C / C ++。 在这个类别中有字段名预处理定义我已经加入_CRT_SECURE_NO_WARNINGS这个要解决的问题希望这将有助于...

谢谢



文章来源: Why does fatal error “LNK1104: cannot open file 'C:\\Program.obj'” occur when I compile a C++ project in Visual Studio?