Qt:在转换为COFF期间安装VS2012 LNK1123失败后

Hor*_*ter 6 c++ qt qt-creator visual-studio-2012

我安装VS2012之后,我的Qt项目不再编译了(在我的计算机上安装了VS2010和VS2012).消息:LNK1123: failure during conversion to COFF: file invalid or corrupt.之前只使用VS2010就可以了.

对于VS2012环境,建议(参见此处的SO):

  1. 编译 Enable Incremental Linking NO
  2. 卸载.net 4.5

由于我没有将Qt与VS2012结合使用(所以没有插件),我无法像上面提到的那样设置项目.我也不能卸载.net 4.5(另一个项目需要).

有没有机会解决这个问题?我有一些相关的问题

  1. 它是针对VS2012 C++编译器编译的解决方案吗?在这里它说我需要自己编译Qt 5 - 我想避免这样的麻烦
  2. 我需要更新Qt吗?
  3. 或者有没有办法简单地设置Incremental Linking to off为VS项目?在构建设置(下面的屏幕截图)中我需要设置它吗?

Win 7,x86 QtCreator 2.5.2 Qt 4.8.1 VS2012 Ultimate与Update 1,VS2010仍然安装

项目编译设置

- 编辑---

我交叉检查,路径仍然是VS2010,并没有包含.net 4.5路径.

路径

- 编辑2 - 惠普的评论

至少我试过关闭我的反病毒软件.同样的问题.此外,我已经检查了一些其他较小的Qt项目(我是一个零星的Qt编码器,所以我没有足够的经验在那个领域).他们确实编译.此外,受影响的Qt项目中的所有子项目都进行了编译,只有最后一部分(GUI,使用所有子项目)失败并出现上述错误.

- 更进一步 -

在我的.pro文件中,我使用以下行来获取DEFINE hg版本,使用它多年.

VERSION = $$system(P:/Tools/TortoiseHg/hg parents --template '{latesttag}+{latesttagdistance}')
--- $$system line seems to be the line causing the COFF issue, WHY???
DEFINES += VERSION=\\\"$$VERSION\\\"
Run Code Online (Sandbox Code Playgroud)

考虑到这一点,我能够在没有COFF错误的情况下重新编译.但由于一些混合的4.8.0/4.8.1库,应用程序崩溃了.然后我浏览了所有子项目,发现了重复的构建配置.有时我有两次相同的条目,有时会丢失.更正了它们,app现在运行(仍然没有版本标签).

建立配置

检查了hg评论CMD,似乎没问题.

>P:/Tools/TortoiseHg/hg parents --template '{latesttag}+{latesttagdistance}'
'0.8.902+1'
Run Code Online (Sandbox Code Playgroud)

那么为什么这会导致COFF错误,为什么混乱的配置呢?.猜猜我这个废话太老了.

Hor*_*ter 3

所有的功劳都归功于ba__friend的提示。原因是错误的,如此处cvtres.exe所述。禁用旧的,一切都很好(至少在我的特定情况下)。


归档时间:

查看次数:

7328 次

最近记录:

12 年,6 月 前