gpt4 book ai didi

c++ - Qt : After installation of VS2012 LNK1123 failure during conversion to COFF

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:38:20 25 4
gpt4 key购买 nike

之后 我安装了VS2012 我的Qt 项目不再编译(我的电脑上有VS2010 和VS2012)。消息:LNK1123:转换为 COFF 期间失败:文件无效或损坏。以前只用VS2010没问题。

对于 VS2012 环境,建议(参见 SO here):

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

因为我没有将 Qt 与 VS2012 结合使用(所以没有插件),所以我不能 setup the project as mentioned .我也不能卸载 .net 4.5(另一个项目需要)。

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

  1. 是否可以针对 VS2012 C++ 编译器进行编译? Here it says为此,我需要自己编译 Qt 5 - 我想避免这样的麻烦
  2. 我需要更新 Qt 吗?
  3. 或者是否有一种方法可以像在 VS 项目中那样简单地将 Incremental Linking 设置为关闭?我需要在build设置(下面的屏幕截图)中的哪个位置进行设置?

赢 7,x86QtCreator 2.5.2Qt 4.8.1带有 Update 1 的 VS2012 Ultimate,仍然安装了 VS2010

Project compile settings

-- 编辑 ---

我核对了一下,路径仍然是 VS2010,没有包含 .net 4.5 路径。

Paths

-- 编辑 2 -- 根据 HP 的评论

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

-- 更进一步--

在我的 .pro 文件中,我使用以下行来获取 DEFINE with the hg version ,用了很久。

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\\\"

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

Build configs

检查了CMD 上的hg 注释,似乎没问题。

>P:/Tools/TortoiseHg/hg parents --template '{latesttag}+{latesttagdistance}'
'0.8.902+1'

那么为什么这会导致 COFF 错误,以及为什么配置困惑?。我想我已经老了,不能再胡说八道了。

最佳答案

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

关于c++ - Qt : After installation of VS2012 LNK1123 failure during conversion to COFF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14139685/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com