ビジュアル C++ プロジェクトをコンパイルしていますが、エラーが発生します。
"1> 2>objd\amd64\BasicFeatures.obj : fatal error LNK1112: module machine type 'X86' conflicts with target machine type 'x64' [D:\xproject\xproject.vcxproj]"
このスレッドのすべての項目を確認しました: https://stackoverflow.com/a/4364020/974101
Project Property -> Configuration Properties -> Linker -> Advanced の対象マシンは MachineX64 (/MACHINE:X64)
Solution Property -> Configuration Manager のプラットフォームは x64 です。
ただし、「dumpbin /headers BasicFeatures.obj | more」を使用すると、BasicFeatures.obj のターゲット マシンは x86 になります。
Dump of file BasicFeatures.obj File Type: COFF OBJECT FILE HEADER VALUES 14C machine (x86) 1439 number of sections 52DC8466 time date stamp Mon Jan 20 10:05:26 2014 230284 file pointer to symbol table 4F2B number of symbols 0 size of optional header 0 characteristics
VC++ ディレクトリの実行可能ディレクトリ/ライブラリ ディレクトリは
"$(VCInstallDir)bin\x86_amd64;$(VCInstallDir)bin;$(SDK40ToolsPath);$(WindowsSdkDir)bin;$(VSInstallDir)Common7\ide;$(MSBuildToolsPath32);$(FxCopDir);$(PATH);" "$(VCInstallDir)lib\amd64;$(VCInstallDir)atlmfc\lib\amd64;$(WindowsSdkDir)lib\x64;"
問題は、プロジェクトが x64 をターゲットにしているのに、なぜ BasicFeatures.obj のターゲット マシンが x86 なのかということです。そして、それをx64に変更する方法は?
ありがとう。