1

ビジュアル 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

  1. Project Property -> Configuration Properties -> Linker -> Advanced の対象マシンは MachineX64 (/MACHINE:X64)

  2. Solution Property -> Configuration Manager のプラットフォームは x64 です。

  3. ただし、「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
    
  4. 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に変更する方法は?

ありがとう。

4

0 に答える 0