私はVisual Studio 2010 Premiumを使用しています。私は2つのプロジェクトAとBを持っており、両方を64ビットプラットフォームにコンパイルしようとしています。
プロジェクトAは、プロジェクトBが依存する.dllと.libファイルを出力します。
私はすでに64ビットプラットフォームに突出、まだ私はプロジェクトBIは、次のエラーを取得コンパイル時に正常にコンパイル:致命的なエラーLNK1112:モジュールマシンタイプ 'X86'がターゲットマシンタイプ 'x64'と競合します
mfcs100d.lib(nolib.obj):致命的なエラーLNK1112:モジュールマシンタイプ「X86を'ターゲットマシンタイプとの競合' xxxx
何が問題なのですか?私は本当にこのmfcs100d.libファイルが何であるかはわかりません。
私はプロジェクトAのdllファイルに "Dependency Walker"を使用しましたが、それは64ビットのdllファイルのみに依存しているようです。 さらに、Project B(プロパティページ - >構成プロパティ - >リンカ - >詳細)に行き、「Target Machine」が「MachineX64」に設定されていることを確認しました。 また、Configuration Managerではプラットフォームがx64に設定されています。
はBさんを投影する行く:
誰かが、問題がようなものであってもよいことを私にinfromed
WIN32
_DEBUG
_WINDOWS
_AFXEXT
これは本当に関連していますか?私は 'WIN32'の値を置き換えるべきですか?もしそうなら、どのように?私はそれらの定義の意味とそれらをどのように変更するのかを本当に理解していません。
編集:おそらくそれはまったく関連していないことに気づいただけです。これらは、C++ #defineコマンドで判断できるものなど、プリプロセッサの定義です。しかし、私は間違っている可能性があります。
WIN32を取り除かないでください.64ビットコードをコンパイルしても、まだWin32 APIなので、WIN32を定義する必要があります。 – jcopenha