我在Arch Linux 3.2.1上安裝了最新版本的英特爾C++編譯器v12.1.2。當我用ICPC編譯我的C++文件如何打開英特爾C++編譯器的C++ 0x 12.1.2
icpc -O3 -DNDEBUG -std=gnu++0x -o obj/main.o src/main.cpp -c
或
icpc -O3 -DNDEBUG -std=c++0x -o obj/main.o src/main.cpp -c
警告彈出
Warning #2928: the __GXX_EXPERIMENTAL_CXX0X__ macro is disabled when using GNU version 4.6 with the c++0x option
我的main.cpp中包含了許多的C++ 0x功能,比如右值引用,auto等。但是Intel編譯器不能在C++ 0x模式下工作。如何打開它的C++ 0x功能?
當然,目前沒有編譯器可以支持所有的C++ 0x功能,但大多數主流編譯器可以支持其中的一些。我相信英特爾C++編譯器12.1.2絕對支持右值引用。現在的問題,如何啓用它? –
我記得幾個月前我用過'icc',我不得不從C++ 0x辭職。但它不會幫助你:) –
@JackyLee:同樣的鏈接也回答了這個問題 - 「*在使用Visual C++ 2010的Intel C++編譯器的Windows環境下*,Visual C++支持的C++ 0x功能2010「默認啓用,使用'」/ Qstd = C++ 0x「'打開所有其他情況的支持。在Linux或Mac OS X環境下使用'」-std = C++ 0x「'。*」 – ildjarn