[精讚] [會員登入]
5015

[Centos7] 升級gcc/gcc-c++ 由5.8版升級到9.3版

Centos7 使用yum安裝的gcc只到4.8.5(2015年版本),想辦法網級到 9.3

分享此文連結 //n.sfs.tw/14840

分享連結 [Centos7] 升級gcc/gcc-c++ 由5.8版升級到9.3版 @新精讚
(文章歡迎轉載,務必尊重版權註明連結來源)
2020-12-04 01:52:33 最後編修
2020-12-03 15:35:49 By 張○○
 

自動目錄

需要用到更高版本的gcc,因此升級gcc及g++到9.3版

原系統

$  make --version
GNU Make 3.82
Built for x86_64-redhat-linux-gnu
Copyright (C) 2010  Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
$ gcc --version
$ g++ --version
g++ (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44)
Copyright (C) 2015 Free Software Foundation, Inc.

# cat /etc/redhat-release
CentOS Linux release 7.3.1611 (Core)

Centos7 使用yum安裝的gcc只到4.8.5(2015年版本),想辦法升級到 9.3

# yum update gcc gcc-c++

安裝

安裝 scl , 這個程式可以指定使用應用程式包

# yum install centos-release-scl-rh

安裝 devtoolset,這裡面包含有更高版本的gcc等程式

目前最新的到9版,如果不行,可試試devtoolset-8或devtoolset-7的版本

# yum install devtoolset-9*

安裝完畢後指定應用程式包(by user)

$ scl enable devtoolset-9 bash

同上,啟動目前程序

$ source /opt/rh/devtoolset-9/enable

修改 /etc/rc.d/rc.local 開機啟動,最下面加入一行

source /opt/rh/devtoolset-9/enable

安裝完畢後確認版號

# make --version
GNU Make 4.2.1 <== make升到4版
Built for x86_64-redhat-linux-gnu
Copyright (C) 1988-2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>

# gcc --version
gcc (GCC) 9.3.1 20200408 (Red Hat 9.3.1-2) <== gcc,c++,g++都升到相同版號 9.3.1
Copyright (C) 2019 Free Software Foundation, Inc.

查看目前使用的gcc

$ which gcc
/opt/rh/devtoolset-9/root/usr/bin/gcc

查看套件資訊

# yum info devtoolset-9-gcc-c++

移除

如果需要的話

# yum remove devtoolset-9\* libasan libatomic libcilkrts libitm liblsan libtsan libubsan

編譯

可支援 -std=c++14及 -std=c++17 mode,請參考[2] 的使用說明。

 

參考資料

[1] https://qiita.com/hirohiro77/items/2bfb9e3dede09049c4f2

[2] https://access.redhat.com/documentation/en-us/red_hat_developer_toolset/9/pdf/user_guide/Red_Hat_Developer_Toolset-9-User_Guide-en-US.pdf

[3] https://access.redhat.com/documentation/en-us/red_hat_developer_toolset/9/html-single/user_guide/index

END

你可能感興趣的文章

[CentOS7] 使用ip neighbor指令來偵測修改其他的節點 使用ip neighbor指令來偵測修改其他的節點

FIREFOX設定自己的搜尋引擎 在火狐上設定自己的搜尋引擎

[TCP] TCP關閉的四步程序 TCP關閉的四個步驟

[Centos7] 升級gcc/gcc-c++ 由5.8版升級到9.3版 Centos7 使用yum安裝的gcc只到4.8.5(2015年版本),想辦法網級到 9.3

電子郵件郵址email的格式 電子郵件email的格式和規則

[Analytics] Google analytics 如何刪除資源和應用程式 當不再需要統計的站台要刪除analytics的統計時,找不到在哪裡可以刪除,怎麼操作?

我有話要說

>>

限制:留言最高字數1000字。 限制:未登入訪客,每則留言間隔需超過10分鐘,每日最多5則留言。

訪客留言

[無留言]

隨機好文

[jQuery] select 元件的取值及給值 html中的元件select,在jquery中要如何使用?

NETCRAFT發現你的網站及作業系統 NETCRAFT可以發現你的網站及作業系統

Smarty安裝 smarty 是著名的樣版引擎,非常的好用,用多了突然發現拿掉smarty反而不會寫php了,以下是安裝過程..

維修海棉拖把頭 這類型的海棉拖把很好用,可是這近發現海棉頭越來越不耐用,也許是錯覺,以往都能用個三四個月,現在二個月就差不多掉下來。 這

[MySQL/Mariadb] console 將查詢結果輸出到檔案 在mysql 的console中該如何將查詢結果輸出到檔案?