谷歌给了我一个线索,可以将代码编译成单个可执行文件,在 32 位操作系统上以 32 位运行,在64 位操作系统上以 64 位运行。可执行文件真的有可能在运行时确定其位数吗?
在我的情况下,目标系统是Windows 7 Professional x64
and Windows XP SP3 x86
。
所以我在各种文章中读到的(我认为在 SO 上什至有类似主题的答案)是必须去Soltuion
's Configuration Manager
(RMB 到 Solution -> Configuration Manager)并将 's 设置Platform
为Any CPU。
Configuration Manager
现在所有这些文章都描述了旧 MSVS 或 MSVC++ 版本的设置,但我认为2013 RC 版本(我刚刚安装)没有重大变化。
在Active Solution
下拉列表中我没有选项Any CPU
,所以我按照我在 SO 上找到的这个食谱进行操作。在我的情况下,按照这个小指南失败了,在执行第 5 步时,我仍然没有选择的选项Any CPU
:
- 5) 确保在 New Platform 下选择了“Any CPU”。如果在第 3 步中没有任何 CPU 解决方案平台,请确保选中“创建新的解决方案平台”复选框。然后单击确定。
我可以使用的下拉项目是x64
和ARM
(Win32
也是,但默认情况下已经添加),我无法选择Any CPU
。
添加目标平台x64
并编译可执行文件工作正常,程序在 Windows 7 x64 上以 64 位运行,但当然不能在 32 位 Windows XP 机器上运行。
如何Any CPU
在Microsoft Visual Studio Professional 2013 RC中设置目标平台?