6

VS2012をインストールした後、Qtプロジェクトはコンパイラーになりません(コンピューターにVS2010とVS2012があります)。メッセージ:LNK1123: failure during conversion to COFF: file invalid or corrupt。以前はVS2010だけで問題ありませんでした。

VS2012環境では、次のことをお勧めします(ここでSOを参照)。

  1. でコンパイルEnable Incremental Linking NO
  2. .net4.5をアンインストールします

QtをVS2012と組み合わせて使用​​していないため(プラグインなし)、前述のようにプロジェクトをセットアップできません。また、.net 4.5をアンインストールすることもできません(別のプロジェクトに必要です)。

問題を解決する機会はありますか?私が持っているいくつかの関連する質問

  1. VS2012 C ++コンパイラに対してコンパイルすることは解決策でしょうか?ここでは、これにはQt5の独自のコンパイルが必要であると書かれています-そのような面倒を避けたいと思います
  2. Qtを更新する必要がありますか?
  3. Incremental Linking to offまたは、VSプロジェクトのように単純に設定する方法はありますか?ビルド設定(下のスクリーンショット)のどこに設定する必要がありますか?

Win 7、x86 QtCreator 2.5.2 Qt 4.8.1 VS2012 Ultimate with Update 1、VS2010はまだインストールされています

プロジェクトのコンパイル設定

- 編集 - -

クロスチェックしましたが、パスはまだVS2010であり、.net4.5パスは含まれていません。

パス

--編集2-HPのコメント現在

少なくとも、アンチウイルスソフトウェアをオフにして試しました。同じ問題。さらに、他のいくつかの小さな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\\\"

これを取り出すと、COFFエラーなしで再コンパイルできました。しかし、4.8.0/4.8.1のライブラリが混在しているためにアプリケーションがクラッシュしました。次に、すべてのサブプロジェクトを調べたところ、ビルド構成が重複していることがわかりました。同じエントリが2回あることもあれば、欠落していることもあります。それらを修正しました。アプリは今すぐ実行されます(まだバージョンタグはありません)。

構成の構築

のhgコメントを確認しましたCMDが、大丈夫そうです。

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

では、なぜこれがCOFFエラーにつながるのでしょうか。また、構成が混乱しているのはなぜですか。。私はこのがらくたのために年を取りすぎていると思います。

4

2 に答える 2

3

ヒントのba__friendへのすべてのクレジット。ここでcvtres.exe説明されているように、理由は間違っています。古いものを無効にすると、すべて問題ありません(少なくとも私の特定のケースでは)。

于 2013-01-13T09:21:34.003 に答える
1

この問題が発生しました。私の場合、その理由は、既にVisualStudion2010がインストールされているマシンにVisualStudio2012をインストールすることでした。また、両方のVisualStudioでC++プロジェクトを実行できませんでした(同じエラー)。3つの解決策があります:

  1. 一時的な解決策:デバッグの代わりにリリースmodを使用すると、アプリケーションは実行されますが、デバッグは利用できません。
  2. VSバージョンの代わりにQtMinGWをダウンロードしてインストールします(サイズが2倍)
  3. (推奨)VisualStudio2010のSP1をインストール/再インストールします。

素敵なコーディングを!

于 2013-02-28T09:44:54.853 に答える