CentOS 如何解決gcc版本衝突?

2021-06-22 14:17:34 字數 1218 閱讀 9492

今天碰到乙個比較坑爹的問題,在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忘記密碼如何解決

在工作或者自己練習的時候我們難免會大意忘掉自己的root密碼,有些同學忘掉密碼竟然第一選擇是重灌系統,工作中可萬萬使不得!第一步 啟動系統 到這裡之後,點選一下螢幕,輸入e 第二步 輸入rd.break 在linux16開頭的行的結尾輸入rd.break 第三步 ctrl x 輸入ctrl x執行 ...

如何解決python多種版本衝突問題

場景分析 一般linux系統預設自帶兩個版本的python,我按照的虛擬機器系統自帶的版本為python2.7和python3.2,但是由於個人習慣問題,我喜歡使用新版本的 python進行開發.這樣就會導致執行命令時候出現版本衝突問題.問題復現 在我準備執行之前寫好的乙個檔案的時候,出現報錯.顯而...

Linux如何解決動態庫的版本控制

引用自 換句話說,soname不是真實存在的檔案,只是在此庫中和將來呼叫此庫的檔案中儲存的乙個名字,在載入時去找這個名字,使用時建立乙個軟連線來指向真實檔案,這樣真實檔案的版本號就可以公升級了 linux 系統,也同樣面臨和window一樣的問題,如何控制動態庫的多個版本問題。window之前沒有處...