[CentOS]如何解決gcc版本衝突?

來源:互聯網
上載者:User

    今天碰到一個比較坑爹的問題,在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++




聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.