首頁 > 軟體

Linux 下升級gcc版本(gcc-7.3.0)

2020-06-16 16:43:24

本文描述如何通過編譯原始碼,來升級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;
}


IT145.com E-mail:sddin#qq.com