[精讚] [會員登入]
5923

[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

你可能感興趣的文章

FIREFOX設定GOOGLE翻譯搜尋引擎 在火狐上設定google翻譯成為自己的搜尋引擎

為我的郵件伺服器建立SPF記錄 我的郵件伺服器寄出的信常會被放到垃圾信件匣中?試試加上SPF的記錄吧。

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

在CISCO上設定NAT和 DHCP 在CISCO上設定NAT和 DHCP

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

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

隨機好文

談借錢 人借錢時手心向上頭向下,人還錢時手心向下頭向上

UTF-8 BOM (Byte Order Mark) 的問題 在 Michael Kaplan 那看到 Every character has a story #4: U+feff

SELinux 常用指令和檔案 在Redhat系列中,Centos5以後加入了selinux,他並沒有這麼可怕,不必每次看到Selinux ,就想把他

[Freebsd] 使用 ADSL 撥接上網 Freebsd上要使用 ADSL 撥接上網,該如何設定?

PHP for sphinx 函式庫安裝 PECL/sphinx PHP>= 5.2.2 已經能原生支援 sphinx,可是預設的沒有裝,我們得自己裝才能用