致命的なエラー C1047
オブジェクトまたはライブラリ ファイル 'filename' は、他のオブジェクトよりも古いコンパイラで作成されました。古いオブジェクトおよびライブラリをリビルドしてください
このエラーは、新しいバージョンのコンパイラを使用してプロジェクトをビルドする際、既存のオブジェクト ファイルまたはライブラリをクリーン リビルドしなかった場合に発生する可能性があります。
解説
C1047 は、/GL
または /LTCG
を使用してビルドされたオブジェクト ファイルまたはライブラリが、Visual Studio C/C++ コンパイラ ツールセットの異なるバージョンでリンクされている場合に発生します。 たとえば、Visual Studio 2019 バージョン 16.7 を使用してビルドされた /LTCG
ライブラリを、Visual Studio 2019 バージョン 16.8 を使用してビルドされたアプリにリンクすることはできません。 オブジェクトとライブラリのコンパイルに使用されるツールセットのメジャー更新番号とマイナー更新番号の両方が、正確に一致する必要があります。
C1047 を解決するには、同じバージョンのツールセットを使用して、すべてのオブジェクト ファイルまたはライブラリをリビルドします。
関連項目
/GL
(プログラム全体の最適化)
/LTCG
(リンク時のコード生成)
Visual Studio バージョン間の C++ バイナリ互換性