CentOS 6.5平臺默認安裝的GCC版本爲4.4,在CentOS 6.5平臺上使用CLion編譯C++程序時會提示”識別不出命令行參數std:c++11"的問題。
出現這個問題的原因是CLion使用GCC編譯C、C++程序,從GCC 4.8版本後GCC纔開始支持C++11,系統默認安裝的4.4版本不支持C++11導致此問題。
解決方法有兩個:
一、將CMakeLists.txt中“std:c++11”修改爲“std:c++0x”,即放棄支持C++11標準。
二、升級系統的GCC版本,升級到4.8或更高版本。升級GCC的方法、步驟見本博客《CentOS 6.5下升級GCC編譯器到4.9.1版本的方法、步驟》。
通常新版GCC會安裝到/usr/local/GCC 4.8.*目錄下。此時系統中存在兩個版本的GCC,爲確保CLion能夠使用高版本的GCC編譯程序,還需做如下操作:
rm -rf /usr/bin/gcc
rm -rf /usr/bin/c++
創建新的鏈接文件,將gcc 及C++鏈接到高版本的GCC文件。
ln -s /usr/local/GCC 4.9.1/bin/gcc gcc
ln -s/usr/local/GCC 4.9.1/bin/c++ c++
在命令行中輸入gcc -v,檢查是否識別的是高版本的gcc,顯示GCC 4.9.1則成功。
此時再CLion中再次編譯會提示成功。