系統為centos 6.5,gcc為4.4.7
wget
2 解壓
tar jxf gcc-6.2.0.tar.bz2
cd gcc-6.2.0
./contrib/download_prerequisites
4 生成makefile檔案先建乙個編譯的目錄, 比較慢,預計乙個小時左右
mkdir gcc-build-6.2.0
cd gcc-build-6.2.0/
../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib
5 編譯
make -j4
4表示使用4個核心,根據你的cpu來指定。也可不指定任何引數。
6 安裝
sudo make install
7 驗證
gcc -v
還有原來的版本,重啟後,再驗證ok
8 測試
寫個測試的程式測試一下:
g++ -std=c++11 -o testcpp11 testcpp11.cpp
./testcpp11: /usr/lib64/libstdc++.so.6: version `glibcxx_3.4.14' not found (required by ./testcpp11)
./testcpp11: /usr/lib64/libstdc++.so.6: version `glibcxx_3.4.15' not found (required by ./testcpp11)
./testcpp11: /usr/lib64/libstdc++.so.6: version `glibcxx_3.4.21' not found (required by ./testcpp11)
看來動態庫並沒有更新。
9 更新動態庫
檢視動態庫的版本:
strings /usr/lib64/libstdc++.so.6 | grep glibc
glibcxx_3.4
glibcxx_3.4.1
glibcxx_3.4.2
glibcxx_3.4.3
glibcxx_3.4.4
glibcxx_3.4.5
glibcxx_3.4.6
glibcxx_3.4.7
glibcxx_3.4.8
glibcxx_3.4.9
glibcxx_3.4.10
glibcxx_3.4.11
glibcxx_3.4.12
glibcxx_3.4.13
確實沒有更新,預設情況下,會安裝在如下目錄:
/usr/local/lib64/libstdc++.so.6.0.22
簡單了,將原來的庫替換為上面的就可以了:
rm -rf /usr/lib64/libstdc++.so.6
ln -s /usr/local/lib64/libstdc++.so.6.0.22 /usr/lib64/libstdc++.so.6
然後再檢視動態庫的版本:
strings /usr/lib64/libstdc++.so.6 | grep glibc
結果
glibcxx_3.4.22
這就是剛剛安裝的版本,再執行一下測試程式./testcpp11,成功!
centos6.4安裝swoole4.2報錯:error: #error "gcc 4.8 or later required.
替換原來的gcc版本
update-alternatives --install /usr/bin/gcc gcc /usr/local/bin/x86_64-pc-linux-gnu-gcc 40
mv /usr/bin/gcc /usr/bin/gcc.bak
ln -s /usr/local/bin/x86_64-pc-linux-gnu-gcc /usr/bin/gcc
Linux公升級安裝GCC g
各發行版本linux中,其自帶的gcc安裝源版本都比較舊,我所使用centos 6系統中,gcc版本只有4.4.7。最近要安裝幾個軟體要求gcc 4.8 無奈只能手動公升級gcc。wget 或 wget tar xf gcc 5.2.0.tar.bz2 解壓完成後,執行以下命令進入工作目錄 cd g...
Linux 公升級安裝gcc g
linux 執行程式,出錯提示如下,網上查詢需要更新gcc g 版本為4.8以後的。解壓完成後,執行以下命令進入工作目錄 cd gcc 5.2.0 contrib download prerequisites 4.配置安裝gcc 建立乙個輸出目錄,編譯時所有生成的中間檔案都放到該目錄下 mkdir ...
linux 設定源,安裝gcc g
昨天安裝linux伺服器,但是red hat預設的情況下,是沒有安裝gcc編譯器。沒辦法,只能手動安裝過,為了方便,直接用yum工具進行安裝。沒想到,既然出現什麼註冊問題,好像提示沒有許可權。接著,只能自己去找源啦。找到乙個centos源。不管,先用用。1 修改源配置檔案 gedit etc yum...