icpc C++11 with gcc stdlib
icpc C++11 with gcc stdlib
我使用的是icpc(非可选),并且我使用-std=c++0x进行编译,因此我可以使用lambas。
然而,当我这样做时,它会使用gcc stdlib创建havok,其中一个支持另一个不支持的功能。
我尝试定义
__GXX_EXPERIMENTAL_CXX0X__
但这无济于事。
因此,理想情况下,我所要求的是能够在c++03 stdlib中使用c++0x语言功能。
gcc 4.6
icc 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代码,所以听起来你想阻止编译器看到任何这些,比如-U__GXX_EXPERIMENTAL_CXX0X__
(等效的GCC选项)。
但是,如果ICC是在-std=c++0x
下为您定义的,那么您应该找到您应该使用的库的版本(或者在本地ICC安装中查找库)。目前还不能确定C++03库是否足以编译C++11代码。
icpc
仅在这种情况下发出警告。不要把注意力放在这件事上。所有内容都将被编译。
相关文章:
- CMake项目Boost库错误:Boost/config/compiler/gcc.hpp:165:10:致命错误:cs
- 奇怪的结构&GCC&clang(void*返回类型)
- GCC本机矩阵运算库
- PowerPC ppc64le上的Gcc Woverloaded虚拟错误
- gcc和c++17的过载解析失败
- 数据成员SFINAE的C++17测试:gcc vs clang
- GCC对可能有效的代码抛出init list生存期警告
- 如何解决gcc编译器优化导致的centos双编译器设置中的分段错误
- 使用 GCC 卸载的 OpenMP 卸载失败,并出现"Ptx assembly aborted due to errors"
- 为什么与常规GCC不同,即使有"学究性错误",MinGW-GCC也能容忍丢失的返回类型
- 使用gcc从静态链接的文件中查找可选符号
- 普通环路未使用gcc 4.8.5自动矢量化
- 有了gcc,是否可以链接库,但前提是它存在
- 在clang++预处理器中确定gcc工具链版本
- 为什么 gcc 编译这个而 msvc 没有
- 带有 -stdlib=libc++ 的 clang++ 9.0.1 找不到<optional>
- 为什么这个自定义分配器的析构函数在 GCC/MSVS 的 stdlib 中被调用两次
- 无法识别的命令行选项 '-stdlib=libc++' gcc(自制 gcc 5.3.0) 5.3.0
- icpc C++11 with gcc stdlib
- GCC stdlib XCode 4.5