2021-05-12 14:32:11
Linux 下升級gcc版本(gcc-7.3.0)
本文描述如何通過編譯原始碼,來升級gcc編譯版本,由於CentOS預設gcc編譯版本太低不能滿足需求。我通過自己的安裝升級經驗總結了一個shell指令碼,整體時間大約在一個小時左右。
cd /usr/src/
vim upgradeGcc.sh在
upgradeGcc.sh中輸入下面的內容#!/bin/bash
#在非root賬戶下,使用sudo命令
#獲取原始碼
#sudo wget http://mirrors.kernel.org/gun/gcc/gcc-7.3.0/gcc-7.3.0.tar.gz
wget http://mirrors.kernel.org/gun/gcc/gcc-7.3.0/gcc-7.3.0.tar.gz
#解壓
#sudo tar -xvf gcc-7.3.0.tar.gz
tar -xvf gcc-7.3.0.tar.gz
cd gcc-7.3.0
#sudo ./contrib/download_prerequisites
./contrib/download_prerequisites
cd ..
#建立編譯輸出目錄
#sudo mkdir gcc-build-7.3.0
mkdir gcc-build-7.3.0
#進入下面目錄,執行命令,生成Makefile檔案
cd gcc-build-7.3.0
#sudo ../gcc-7.3.0/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
../gcc-7.3.0/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
#執行命令進行編譯,此處利用4個job,需編譯時約40分鐘,此值不宜設定過高
#sudo make -j4
make -j4
#安裝
#sudo make install
make install
執行下面的命令,等待安裝完成,等待時間可能有點長
chmod 777 upgradeGcc.sh
./upgradeGcc.sh
shell中的命令可以以指令碼的方式執行,也可以以單條命令的方式執行。
檢查版本
[root@promote ~]# g++ -v
Using built-in specs.
COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-pc-linux-gnu/7.3.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: ../gcc-7.3.0/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
Thread model: posix
gcc version 7.3.0 (GCC)
升級成功。
進行檢測:
#include <iostream>
using namespace std;
int main(int argc, char* argv[])
{
cout << "Hello world!" << endl;
auto i = 10;
cout << i << endl;
return 0;
}
相關文章