我正在使用 icpc (非可选),并且使用 -std=c++0x 进行编译,因此我可以使用ambas。
然而,当我这样做时,它会使用 gcc stdlib 创建 havok,其中一个支持另一个不支持的功能。
我尝试过定义
__GXX_EXPERIMENTAL_CXX0X__
但这没有帮助。
因此,理想情况下,我要求的是能够将 c++0x 语言功能与 C++03 stdlib 一起使用。
gcc 4.6
国际商会 12.1]
编辑错误示例:
/usr/include/c++/4.6.2/type_traits(74): error: identifier "constexpr" is undefined
static constexpr _Tp value = __v;
^
/usr/include/c++/4.6.2/type_traits(74): error: expected a ";"
static constexpr _Tp value = __v;
^
/usr/include/c++/4.6.2/type_traits(75): error: member "std::integral_constant<_Tp, __v>::_Tp" is not a type name
typedef _Tp value_type;
^
/usr/include/c++/4.6.2/type_traits(76): error: member "std::integral_constant<_Tp, __v>::_Tp" is not a type name
typedef integral_constant<_Tp, __v> type;
^
/usr/include/c++/4.6.2/type_traits(77): error: identifier "constexpr" is undefined
constexpr operator value_type() { return value; }
^
/usr/include/c++/4.6.2/type_traits(87): error: identifier "constexpr" is undefined
constexpr _Tp integral_constant<_Tp, __v>::value;
这些错误显然指向 C++11 代码,所以听起来您想要prevent编译器不会看到其中任何一个,例如-U__GXX_EXPERIMENTAL_CXX0X__
(等效的 GCC 选项)。
但是,如果 ICC 为您定义了这一点-std=c++0x
,那么您应该找出您应该使用的库版本(或在本地 ICC 安装中查找库)。还远不能确定 C++03 库是否足以编译 C++11 代码。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)