CentOS更新gcc編譯器版本至4 9 4

2021-09-09 00:13:59 字數 2243 閱讀 2964

玩轉openwrt lede的編譯需要gcc版本支援c++ 11,而重灌後的虛擬機器centos支援的gcc版本為gcc (gcc) 4.4.7 20120313 (red hat 4.4.7-23)。而gcc 4.7版本之後的版本才真正支援c++ 11,本次gcc版本公升級至gcc (gcc) 4.9.4。

dowload gcc tar package

wget

準備安裝gcc需要的lib庫

[root@bogon gcc-4.9.4]$ ./contrib/download_prerequisites

建立build目錄,執行config

[root@bogon build]$ pwd

/home/mark/share/gcc-4.9.4/build

[root@bogon build]$ …/configconfigure --enable-checking=release --enable languages=c,c++ --disable-multilib

編譯和安裝

[root@bogon build]$ make && make install

檢視gcc version[root@bogon build]# which gcc

/usr/local/bin/gcc

strings libstdc++.so.6 | grep glibc

[root@bogon lib]# string slibstdc++.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

glibc_2.0

glibc_2.3

glibc_2.4

glibc_2.1

glibc_2.1.3

glibc_2.3.2

glibc_2.2

glibcxx_force_new

glibcxx_debug_message_length

更新softlink:

[root@bogon lib]# pwd

/usr/lib

[root@bogon lib]# cp -frp /usr/local/lib/libstdc++.so.6.0.20 ./

[root@bogon lib]# rm -rf libstdc++.so.6

[root@bogon lib]# ln -s libstdc++.so.6.0.20 libstdc++.so.6

[root@bogon lib]# strings /usr/lib/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

glibcxx_3.4.14

glibcxx_3.4.15

glibcxx_3.4.16

glibcxx_3.4.17

glibcxx_3.4.18

glibcxx_3.4.19

glibcxx_3.4.20

glibc_2.3

glibc_2.0

glibc_2.1

glibc_2.1.3

glibc_2.3.2

glibc_2.2

glibcxx_force_new

glibcxx_debug_message_length

CentOS中安裝gcc編譯器

centos中安裝gcc編譯器 今天要做老師布置的乙個網路任務時,發現在我安裝centos的時候忘記勾選了c語言這一塊的安裝項導致直接使用gcc o 命令無效。然後,在宿舍想使用yum連線網路安裝gcc,又發現,寬頻的共享功能被網路管理中心的老師給禁止了 好在天無絕人之路,柳暗花明又一村 只不過說,...

gcc編譯器簡介

在linux中選擇gcc編譯器的原因是gcc執行效率高。gcc基本用法 gcc options filename 其中options為編譯選項。例子 執行指令 gcc hello.c 則對hello.c進行編譯,如果程式沒有語法錯誤,則產生可執行檔案a.out gcc預設檔名 執行可執行檔案指令 a...

gcc編譯器(二)

靜態庫 工程在呼叫靜態庫時,複製靜態庫源 加長,不節省程式空間字尾名.a 優點 編譯後不需要再依賴庫 以空間換時間 動態庫 工程建立對映關係,每次呼叫都需要去庫中載入,字尾名為.so 共享庫 程式輕便,便於公升級。小tips 所有程式執行都在記憶體中,硬碟只能儲存程式。靜態庫的建立 gcc c 原始...