VS2012をインストールした後、Qtプロジェクトはコンパイラーになりません(コンピューターにVS2010とVS2012があります)。メッセージ:LNK1123: failure during conversion to COFF: file invalid or corrupt
。以前はVS2010だけで問題ありませんでした。
VS2012環境では、次のことをお勧めします(ここでSOを参照)。
- でコンパイル
Enable Incremental Linking NO
- .net4.5をアンインストールします
QtをVS2012と組み合わせて使用していないため(プラグインなし)、前述のようにプロジェクトをセットアップできません。また、.net 4.5をアンインストールすることもできません(別のプロジェクトに必要です)。
問題を解決する機会はありますか?私が持っているいくつかの関連する質問
- VS2012 C ++コンパイラに対してコンパイルすることは解決策でしょうか?ここでは、これにはQt5の独自のコンパイルが必要であると書かれています-そのような面倒を避けたいと思います
- Qtを更新する必要がありますか?
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エラーにつながるのでしょうか。また、構成が混乱しているのはなぜですか。。私はこのがらくたのために年を取りすぎていると思います。