为什么在Visual Studio中编译C++项目时会出现致命错误"LNK1104:无法打开文件'C:\ Program.obj'"?

Jos*_*are 113 linker visual-c++

我在Visual Studio 2008中创建了一个新的C++项目.还没有编写代码; 仅更改了项目设置.

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

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

Jos*_*are 147

此特定问题是由指定对其路径中包含空格的lib文件的依赖性引起的.该路径需要用引号包围,以便项目正确编译.

在项目属性配置属性 - >链接器 - >输入选项卡上,有一个附加依赖项属性.通过更改此属性修复此问题:

C:\ Program Files\sofware sdk\lib\library.lib

至:

"C:\ Program Files\sofware sdk\lib\library.lib"

我在哪里添加了引号.

  • 上帝,你刚刚把两天的虫子追逐到了30秒一个:) (16认同)
  • 我有同样的问题.如果您的链接器正确但您的lib目录设置不正确,则可能会出现相同的错误.尝试查看**配置属性 - > VC++目录 - >库目录**,看看你是否正确设置了库.有时lib文件夹包含x86和x64文件夹.您必须将其设置为其中一个(取决于您的编译器)而不是包含它们的文件夹. (8认同)

Car*_*rol 64

如果文件仍在运行,则会发生这种情况.

:-1:错误:LNK1104:无法打开文件'debug\****.exe'

  • 这也是我的问题! (4认同)

Dan*_*eel 15

关闭并重新打开Visual Studio后,问题就消失了.不确定问题发生的原因,但这可能值得一试.

这是在VS 2013 Ultimate,Windows 8.1上.

  • 啊,微软...我们的第一次尝试应该总是关闭并重新打开(或关闭电源) - 当我们这样做时,几个神秘的错误消失了...... (4认同)
  • 我感到很羞耻,这个解决方案可以解决我的问题。现在,我不能再出去见我的朋友和家人了。 (3认同)
  • 你和卡罗尔有同样的问题. (2认同)

Pat*_*oni 9

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


Ass*_*evy 7

还要检查是否已打开此功能:配置属性 - > C/C++ - >预处理器 - >预处理到文件.

  • 你在这里有一些解决方法:[如何输出预处理代码并编译它(Visual Studio)](http://stackoverflow.com/questions/7826243/how-to-output-preprocessed-code-and-compile-it -visual-studio)和这里:[使用/ p参数编译项目(VS 2008)(对文件进行预处理)无法编译](http://stackoverflow.com/questions/3570024/compiling-a-project -Vs-2008与 - 的 - 对 - 参数 - 预处理到一个文件-没有按).但基本上它是一个编译器选项,所以它会做,但不是两个. (2认同)