1. 程式人生 > >[CentOS]怎樣解決gcc版本號沖突?

[CentOS]怎樣解決gcc版本號沖突?

ons gcc c++ shell entos exec error: 機器 eve

今天碰到一個比較坑爹的問題。在centos上用yum安裝編譯環境,執行:

yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel

結果導致編譯cocos2d-x出現錯誤:

cc1plus: error: unrecognized command line option "-std=c++11"

我google了一番,確定這個錯誤是因為gcc的版本號過低造成的

查看gcc版本號:

gcc --version

系統顯示:

gcc (GCC) 4.8.2

我又google一番。確定這個版本號能夠支持c++11

可是cocos2d-x的編譯錯誤確實是執行了yum命令以後才出現的

我全局搜了一下gcc:

find / -name gcc

有這麽多gcc:

/usr/lib/gcc
/usr/local/lib/gcc
/usr/local/bin/gcc
/usr/local/libexec/gcc
/usr/bin/gcc


再執行:

/usr/bin/gcc --version

gcc (GCC) 4.4.7-4


/usr/local/bin/gcc --version

gcc (GCC) 4.8.2


看來,這個機器上確實有兩個gcc,shell跑的是/usr/local/bin/gcc,可是cocos2dx make時用的是/usr/bin/gcc(為什麽路徑會不一致。原因還不清楚)

解決的辦法是,執行;

mv /usr/bin/gcc /usr/bin/gcc4.4.7

ln -s /usr/local/bin/gcc /usr/bin/gcc


另外。g++, cc, c++這幾個命令也要改

mv /usr/bin/g++ /usr/bin/g++4.4.7

ln -s /usr/local/bin/g++ /usr/bin/g++


mv /usr/bin/cc /usr/bin/cc4.4.7

ln -s /usr/local/bin/cc /usr/bin/cc


mv /usr/bin/c++ /usr/bin/c++4.4.7

ln -s /usr/local/bin/c++ /usr/bin/c++




[CentOS]怎樣解決gcc版本號沖突?