Jac*_*Lee 3 c++ compiler-construction intel c++11
我在Arch Linux 3.2.1上安装了最新版本的英特尔C++编译器v12.1.2.当我用icpc编译我的C++文件时
icpc -O3 -DNDEBUG -std=gnu++0x -o obj/main.o src/main.cpp -c
Run Code Online (Sandbox Code Playgroud)
要么
icpc -O3 -DNDEBUG -std=c++0x -o obj/main.o src/main.cpp -c
Run Code Online (Sandbox Code Playgroud)
突然出现警告
Warning #2928: the __GXX_EXPERIMENTAL_CXX0X__ macro is disabled when using GNU version 4.6 with the c++0x option
Run Code Online (Sandbox Code Playgroud)
我的main.cpp包含许多C++ 0x功能,例如rvalue references,auto等.但是Intel编译器在C++ 0x模式下不起作用.如何打开其C++ 0x功能?
我不得不一直在努力,但快速解决方案似乎是:
icpc -gcc-name=gcc-4.5 -std=c++0x问题是英特尔编译器不支持GNU编译器从版本4.6开始执行的所有C++ 0x功能.这导致与GNU libstdc ++标头不兼容,因为目前所有C++ 0x功能都受到唯一宏的保护,__GXX_EXPERIMENTAL_CXX0X__并且无法单独启用或禁用.
| 归档时间: |
|
| 查看次数: |
5581 次 |
| 最近记录: |