0

我正在尝试使用 VS2010(Visual Studio)构建 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 文件。

我的问题是这个。

当我将 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:您可以在 solutionexplorer 中右键单击 masm-file 并选择 masm-file 的属性。在那里,您可以为每个配置(调试、发布、x86、x64)指定应该使用该文件的天气。该文件保留在 solutionexplorer 中,但用于/不用于不同的配置。

于 2016-07-18T18:46:08.907 回答