我正在尝试使用 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 位项目可以有不同的文件集!正确的?