[精讚] [會員登入]
1010

【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

你可能感興趣的文章

【自製-製作epub輔助工具】(Sigil) content產生器 能交給程式快速結束的地方就不要自己手動浪費時間了吧。

【Maven】用Maven來託管Wildfly/jBoss的部屬(deploy)、解部屬(undeploy) 極簡版,給未來想要抄作業的小編自己,完整的一切設定檔,可以依照個人需求作增刪。

【C++】SFML安裝於Microsoft Visual Studio 2019 此方法僅適用單個C++專案,因為一次就適用整台電腦的方式有人寫了,而且寫得非常不錯。

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

【JDA/discord bot】package does not exist fix JDA 4.0 和 5.0 差別還是很大的

【Python3】[Django] (Windows / Liunx) 如何從零開始創建一個網站 除了最基本的運作以外,還小小的加上了如何自導向特定目錄。

我有話要說

>>

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

訪客留言

[無留言]

隨機好文

高捷少女:地下城的探險少女(終)  小穹眨眨眼睛,然後說了出來。「其實,從剛剛開始,我就在想了……是在看過這本日記之後。」她拿出日記。「我想……我們尋找寶藏的想法,是不是真的正確的?」「怎麼說呢?」耐耐好奇地問。「這個埋藏寶藏的人,在

高捷少女:美麗島的守護者⑤  雖然暫時不用怕牠們了,可是一直躲在這裡終究不是辦法,小雅心想。她看看四周,這間更衣室沒有窗戶或後門,她不禁著急起來,不可能一直躲在這裡面,但從門出去只會被群貓圍攻而已。小雅低下頭苦思該怎麼辦,過了不

高捷少女:耐耐的新年驚喜② 「各位,我跟爸媽聊完了……」耐耐走進客廳,看到大家在看自己的相簿,臉蛋立刻紅了。「哇啊啊,不要看那個!」她三步併作兩步地走向少女們,將相簿拿走。「為什麼啊?小時候的耐耐很可愛啊。」婕兒不解地說。

婕兒──她的青春② 艾米直搖頭。「我真不敢相信,小穹妳都二十幾歲了,為什麼能想出這種故事呀?」「婕兒也是二十幾歲啊,妳想想她現在是什麼樣子?」小穹不滿地指向火車的方向。

【歌評】蓮台野夜行 - 少女秘封倶楽部 少女秘封俱樂部 我們的主角終於出場啦!這首歌一反蓮台野夜行的固有風格,總是華麗的開始又華麗的結束!