Visual studio 2010 - vs2010:如何在32位和64位版本中指定不同的文件



我试图用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位项目有不同的文件集是可能的!对吧?

对于VS 2015:您可以在解决方案资源管理器中右键单击masm-file,并选择masm-file的属性。在这里,您可以为每个配置(调试、发布、x86、x64)指定应该使用该文件的情况。该文件保留在解决方案资源管理器中,但用于不同的用途配置。

相关内容

最新更新