0

VS2010 (ビジュアル スタジオ) で 4 つのバージョンの 3D エンジン (C/C++) をビルドしようとしています。バージョンは次のとおりです。

  • 32 ビット デバッグ
  • 32 ビット リリース
  • 64 ビット デバッグ
  • 64 ビット リリース

32 ビット バージョンをビルドするときは、次のファイルをプロジェクトに含める必要があります。

  • iceasm32.asm
  • igasm32.asm

64 ビット バージョンをビルドするときは、次のファイルをプロジェクトに含める必要があります。

  • iceasm64.asm
  • igasm64.asm

32 ビット asm ファイルの各ペアには、64 ビット asm ファイルと同じ関数が含まれていますが、明らかに、32 ビット プロジェクトには 32 ビット asm ファイルのみが含まれ、64 ビット プロジェクトには 64 ビット asm ファイルのみが含まれている必要があります。 asm ファイル。

私の問題はこれです。

32 ビット asm ファイルを 32 ビット (win32) デバッグおよびリリース プロジェクトに追加し、プログラムの 32 ビット デバッグおよびリリース バージョンを実行すると、それらは機能します。

次に、IDE を 64 ビット (x64) のデバッグおよびリリース プロジェクトに切り替えると、64 ビットの asm ファイルはプロジェクトの一部ではなくなりましたが、32 ビットの asm ファイルはプロジェクトの一部です。そのため、64 ビット (x64) デバッグ/リリース プロジェクトから 32 ビット asm ファイルを除外し、64 ビット asm ファイルを追加すると、それらのプロジェクトをビルドして実行できます。

しかし、IDE を 32 ビット (win32) デバッグおよびリリース プロジェクトに戻すと、64 ビット asm ファイルが含まれるようになりましたが、32 ビット asm ファイルは含まれません!

なぜこうなった?

少し前にシステム ディスクがクラッシュする前に、このプログラムを VS2005 で開発していましたが、この問題は存在しませんでした。32 ビット プロジェクトと 64 ビット プロジェクトに別のファイルを含めることができ、それらは「置かれたまま」になります。

これが VS2010 で機能しないのはなぜですか?

問題があるとは思えませんが、VS2010 には C/C++ しかインストールされていません。VS2005 で複数の言語を使用したかどうかはわかりませんが、C/C++ で作業またはプログラミングしたことがあるだけです。

確かに、32 ビット プロジェクトと 64 ビット プロジェクトで異なるファイル セットを使用することは可能です。右?

4

1 に答える 1

0

VS 2015 の場合: ソリューション エクスプローラーで masm ファイルを右クリックし、masm ファイルのプロパティを選択します。そこで、ファイルを使用する必要がある各構成 (デバッグ、リリース、x86、x64) の天気を指定できます。ファイルはソリューションエクスプローラーに残りますが、さまざまな構成に使用されている/使用されていません。

于 2016-07-18T18:46:08.907 に答える