[精讚] [會員登入]
1435

【Raspberry Pi/樹梅派】(gcc 10) 如何安裝 gcc & g++

需要的時間非常久,不愧是gcc的編譯

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

分享連結 【Raspberry Pi/樹梅派】(gcc 10) 如何安裝 gcc & g++@小編過路君子
(文章歡迎轉載,務必尊重版權註明連結來源)
2022-03-19 02:12:52 最後編修
2022-03-18 09:52:54 By 過路君子
 

哈囉大家好,這裡是覺得更新gcc超麻煩的小編過路君子

開始編譯之後小編就去睡覺了,所以實際上花了多久,小編也不知道,忘了下 time 參數。

 

 

詳細的設定參數,小編參考了這篇:樹莓派 Raspberry Pi 自行編譯與安裝 GCC 6 編譯器教學 by G. T. Wang

好像每種系統所要使用的參數都不一樣,如果下錯或是沒下,就會在編譯的時候報錯,就算所有的安裝包都安裝了也是一樣。

 

首先,我們先隨便到一個鏡站把原始碼下載到我們的伺服器裡,鏡站的位置 gcc 官方網站都有,那小編本人是在 https://ftp.gnu.org/gnu/gcc/ 這個鏡站下載的。

截至小編撰文的當下,最新的 gcc 版本是 11.2,那小編在這裡以安裝 10.2 為例。

(所有圖片點擊都可以放大、變高清)

 

那當小編當初一拿到樹梅派時,順手就下了 apt update 和 apt upgrade,所以小編的樹梅派的 gcc 版本為 gcc 8.3.0。

g++ 的版本跟 gcc 一樣,這邊就不另外列出了。

 

然後下載 gcc 的原始碼並解壓縮。

wget https://ftp.gnu.org/gnu/gcc/gcc-10.2.0/gcc-10.2.0.tar.xz
tar Jxvf gcc-10.2.0.tar.xz

 

等待解壓縮完成之後切換至資料夾內。

cd gcc-10.2.0/

 

第一步就是先下載依賴檔。

./contrib/download_prerequisites

 

接下來就是最重要的一步了,因為小編平時在使用的 Linux 系統是 CentOS 8,所以在這邊踢到滿大的鐵板,直接拿 CentOS 的設定就死了。

那這邊是參考 G. T. Wang 在文章中所給出的設定,小編使用 raspberry pi 4 也能成功編譯。

編譯完成之後記得確認下圖是否出現了 Makefile 這個檔案,那小編看有些人會另外創建資料夾來放置 configure 的檔案,小編個人認為不需要,除非各位需要傳送此檔案到其他伺服器上編譯。

./configure -v \
  --enable-languages=c,c++ \
  --with-cpu=cortex-a53 \
  --with-fpu=neon-fp-armv8 \
  --with-float=hard \
  --build=arm-linux-gnueabihf \
  --host=arm-linux-gnueabihf \
  --target=arm-linux-gnueabihf \ 
  --prefix=/usr/local/gcc-10.2.0

既然小編的主力是 CentOS,那小編在這裡就順手附上 CentOS 的設定方式

./configure \
    --disable-multilib \
    --enable-languages=c,c++ \
    --prefix=/usr/local/gcc-10.2.0

差別挺大的,這就是為什麼小編會踢到鐵板。

 

然後接著連下兩條指令,這個過程大概要五個小時,建議是用 && 連接,然後就放著去睡覺,早上起床之後一定會好。

make -j 4
make install

 

當編譯並且安裝完成之後,相關的執行檔會放在 /usr/local/gcc-10.2.0/bin/ 下。

快速的連下五道指令快速設定全域 gcc,如果覺得沒必要下這麼多,也可以只下前兩條指令即可。

ln -fs /usr/local/gcc-10.2.0/bin/gcc /bin/gcc
ln -fs /usr/local/gcc-10.2.0/bin/g++ /bin/g++
ln -fs /usr/local/gcc-10.2.0/bin/gcc-ar /bin/gcc-ar
ln -fs /usr/local/gcc-10.2.0/bin/gcc-nm /bin/gcc-nm
ln -fs /usr/local/gcc-10.2.0/bin/gcc-ranlib /bin/gcc-ranlib

 

然後再確認一次目前的 gcc 版本。

成功!恭喜各位擁有了自己的高版本 gcc 編譯器囉~

其實樹梅派預設的 gcc 8.3.0 已經非常夠用了,要不要更新終究見仁見智,最新版本的軟體不一定最好

 

 

 

後記

為什麼小編會選擇 gcc 10.2.0 來安裝呢?因為......

END

你可能感興趣的文章

【CoreProtect】[SpigotMC] (進階篇) 如何直接存取資料 大家好,這裡是準備要去參加FF38的小編過路君子 本來只要自己去,結果臨時有人說要一起去,那...好吧!走~ 對於一般人

【C++】使用SFML創建新視窗和新增圖標(ICON)並隱藏DOS 筆記,怕自己以後忘記怎麼創建並開啓一個新視窗

【C++】使用struct array和一維int array模擬二維int array 主要是因為用sort去排序int array的二維陣列小編懶得研究,於是就研究了一種維持一維陣列但是有二維陣列效果的程式,小編就廢~~

【Wicket】[Header]如何讀取來自客戶端地檔頭和傳送自訂擋頭至客戶端 當需要設定檔頭或是讀取來自客戶端的檔頭時,這些程式碼就很好用

【Linux】[CentOS 8] How to update sudo instruction The last time I wanted to update the sudo command should be 2017, right? It's 2021 in a blink of an

【Wildfly/jBoss】[Linux] 如何從無到有建立Wildfly網頁伺服器 包含一切所需的指令

隨機好文

【手遊介紹】小品手遊─寶箱是我的!(SUMMONER'S GREED) 輕鬆無腦的塔防遊戲,殺時間本小編推薦的遊戲之一

高捷少女:地下城的探險少女② 「等我一下喔,我好像有帶去漬的清潔噴霧。」婕兒翻翻飛揚,拿出噴霧劑給小穹,小穹趕緊對著汙漬噴了噴,紅茶漬果然乾淨了許多。「婕兒,謝謝妳。來,還妳。」小穹感謝地把噴霧還給她,卻發現婕兒盯著打開的飛揚,一

【歌評】蓮台野夜行 -古の冥界寺 古老的冥界寺 冥界?那是什麼地方?該不會是像地獄那樣的地方吧?!

【英翻中歌詞】(二創歌)東方妖妖夢-人形裁判 ~玩弄人偶的少女 人形裁判 ~ 人の形弄びし少女 很久很久以前,在一個神奇的異地,住著一位少女,十分惹人憐愛 她的皮膚就像陶瓷一樣潔白,眼睛就像藍色寶珠般明亮

【數學】徐氏數學簡明講義(三) 第二章 直線與園 P2.1-15 Q6 6.平面上有一四邊形ABCD其頂點分別為(0,0)、(2,1)、(3,4)、(-1,5),此平面上另有P,Q兩點,求 :