c++ -- Visual Studio 2010 链接器错误 LNK1104:'cannot open file DebugAssemblyInfo.obj' [编译时未创建 .obj 文件



经过大量的搜索和头脑风暴,我提出了这个问题。

我在Visual Studio 2010中启动了一个新的Windows窗体应用程序。给它起个名字并把它存放在一个地方。没有添加或编辑相同的内容。项目属性也没有更改。

这是解决方案资源管理器的副本。

我正在构建空表单,并得到以下错误。

1>------ Build started: Project: TestProject, Configuration: Debug Win32 ------
1>Build started 27/11/2013 1:35:27 PM.
1>InitializeBuildStatus:
1>  Touching "DebugTestProject.unsuccessfulbuild".
1>GenerateTargetFrameworkMonikerAttribute:
1>Skipping target "GenerateTargetFrameworkMonikerAttribute" because all output files are up-to-date with respect to the input files.
1>CoreResGen:
1>  Processing resource file "Form1.resX" into "DebugTestProject.Form1.resources".
1>LINK : fatal error LNK1104: cannot open file 'DebugAssemblyInfo.obj'
1>
1>Build FAILED.
1>
1>Time Elapsed 00:00:01.41
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

现在我已经检查了与错误相关的每一个该死的页面(6小时的谷歌搜索!!)以下是MSDN建议的可能的错误列表。现在我是MSVS10的新手,所以我发现调试窗口中不存在.obj文件,但存在AssemblyInfo.cpp。我应该在项目设置中做些什么,以便编译.obj并消除错误。

更新:仍然没有答案!!我很惊讶为什么没有人得到这个问题。以下是我迄今为止尝试过的,结果如下:

  1. 已打开新的Visual C++Windows窗体应用程序(没有修改!)
  2. 绝对不写代码
  3. 生成项目

然后错误发生了。

下一步

  1. 打开了一个旧的解决方案,其中存在.obj文件
  2. 重新构建了解决方案

相同错误。我在windows资源管理器中查找解决方案。所有.obj文件都不见了(这应该是因为重建会清理.obj的文件)。但剩下的只是.log文件。

因此,我已经隔离了编译没有发生的错误,因为链接器文件没有创建。结果,发生链接器错误LNK1104LNK1181

有人能告诉我为什么是这个问题吗。以前有人见过这个吗。如果可能的话,有人能提供解决方案吗??

编译器说任何文件都没有修改"跳过目标"GenerateTargetFrameworkMonikerAttribute",因为所有输出文件都是相对于输入文件最新的。"因此它将跳过编译阶段(生成.obj文件)。

但是链接器需要这些文件,而且由于某种原因它们不存在(至少你声称这是正在发生的事情)。

因此,您可以尝试通过进行清理和重建来强制编译。

编辑:

指定对路径中有空格的lib文件的依赖项也可能导致此特定问题。为了使项目正确编译,路径需要用引号括起来。

在项目属性的"配置属性"->"链接器"->"输入"选项卡上,有一个"附加依赖项"属性。

C:Program Files<lib>->"C:Program Files<lib>"

这个问题早就解决了。

1>LINK : fatal error LNK1104: cannot open file 'DebugAssemblyInfo.obj'
1>
1>Build FAILED.

发生这种情况是因为文件DebugAssemblyInfo.obj只是没有被创建。这是由于VS注册表中的错误造成的。

我做了一次干净的新安装的windows和VS。这修复了注册表问题,并且文件创建得非常完美。

我希望这能帮助人们。干杯

我最近遇到了类似的问题,原因是我忘记在编译器设置中取消设置/P。尽管你的问题看起来很明显,但我们都收到了相同的错误信息。

对文件进行预处理时,cl将停止生成.obj文件。

相关内容

最新更新