2017-01-20 1 views
0

私はcmakeで生成し、Visual Studio 2010で実行しているプロジェクトを持っています。視覚スタジオで私のアクティブなソリューションとTarget Machine in(Properties-> Linker-> Advanced)がx64に設定されています。リンカLNK1112エラーが表示されます。これは私がcmakelist.txtに設定したものです。 -swetha致命的なエラーLNK1112:モジュールマシンタイプ 'x64'がターゲットマシンタイプ 'X86'と競合します。Visual Studio 2010およびcmake

+0

プロジェクト用にCMakeを構成したときに、 "Win64"オプションを選択しましたか? – oLen

答えて

1

これは、CMakeLists.txtに設定したいものではありません。基本的に、CMakeは異なるコンパイラ用の複数のジェネレータを持っています。 (x86とx64コンパイラはWindows上で2つの異なるコンパイラです。)ビルドファイルを生成するときには、CMakeが使用する正しいコンパイラを渡す必要があります。あるいは、GUIを使用する場合はWin64を選択します。コマンドラインから:

cmake -G "Visual Studio 14 Win64" path/to/your/CMakeLists.txt 

または必要なVisual Studioのバージョン。

cmake --help 

これで問題が解決しない場合は、生成されたビルドファイルを削除してからもう一度お試しください。

それでも問題が解決しない場合は、x86用に構築されたサードパーティ製の依存関係にリンクしています。

0

ソリューション内のすべての* .objファイルを削除し、コンパイラにすべてのファイルを再度コンパイルさせてください。この問題は、コンパイラがコンパイルしたobjファイルを参照しようとする可能性があります。xxx

関連する問題