我在VS2010中创建了一个新的C++项目。我添加了 x64 作为新的解决方案平台。我尝试将“复制设置从”设置为“Win32”和“空”,但都不起作用。_AMD64_
当我选择 x64 作为平台时未定义。难道不应该吗?是否还有我不知道的 64 位编译步骤?
期待问题:我使用的是VS2010 Ultimate,Windows 7 64位,VS安装时选择了x64编译器。
您已完成所有步骤。一个_AMD64_
符号是not默认情况下由 Visual Studio 预定义。如果你想使用它,你需要自己定义它:
#if defined _M_X64 || defined _M_AMD64
#define _AMD64_
#endif
但你并没有编造它存在的记忆。除了其他一些符号之外,Windows DDK 还附带了定义此符号的 makefile。报到makefile.def
。可能性是:
_X86_
分别称为 x86、i386 和 IA-32
(这和VS预定义的一样_M_IX86
)
_AMD64_
也称为 AMD64、x64、x86-64、IA-32e 和 Intel 64
(这和VS预定义的一样_M_X64
and _M_AMD64
)
_IA64_
英特尔安腾 (IA-64)
(这和VS预定义的一样_M_IA64
)
......以及其他一些架构不再是目标
理想情况下,您将配置构建系统来预定义一组已知宏,然后您将在自己的代码中使用它们。如果您没有构建系统,至少在预编译头文件中进行一些设置。这样,您就不会依赖与实现相关的符号到处,并且切换编译器并不是一件繁重的工作——例如,GCC 预定义的目标体系结构符号与 MSVC 非常不同。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)