如何搭建arm-linux-gcc工具包?
-
- gcc是個什麼東西?
- arm-linux-gcc又是個什麼東西?
- 開始我們的操作把....
gcc是個什麼東西?
- GCC(GNU Compiler Collection,即 GNU 編譯器套裝),是一套由 GNU 開發的程式設計語言編譯器。它是一套以 GPL 及 LGPL 許可證所發行的自由軟體,也是 GNU 計劃的關鍵部分,亦是自由的類 Unix 及蘋果計算機 Mac OS X 作業系統的标準編譯器。GCC(特别是其中的 C 語言編譯器)也常被認為是跨平台編譯器的事實标準。Linux系統下的 GCC 編譯器實際上是 GNU 編譯工具鍊中的一款軟體,可以用它來調用其他不同的工具進行諸如預處理、編譯、彙編和連結這樣的工作。GCC 不僅功能強大,性能優越,其執行效率比一般的編譯器相比要高20%~30%,而且由于其是 GNU 項目之一,是開源的軟體,我們可以直接從網上免費地下載下傳安裝它。(借鑒林世霖老師出自《Linux 環境程式設計圖文指南》的原話)
- 說白了這gcc就是把我們看得懂 XXX.c 翻譯成計算機看得懂的一位“翻譯官”,但是這個翻譯官他隻董把.c檔案翻譯成x86平台看得懂的格式,而一些ARM-Linux卻無法讀懂,就好比電腦程式不能在手機上運作是一個道理。是以我們才要請來另外一位“翻譯官”arm-linux-gcc!!
arm-linux-gcc又是個什麼東西?
- 上一個标題已經說了是另外一個“翻譯官”
開始我們的操作把…
- 複制壓縮包arm-linux-gnueabi-5.4.0.tar.xz 到使用者家目錄中
工具包下載下傳位址:
連結:https://pan.baidu.com/s/1bCscDqG-TTDW8CfshZZrTA
提取碼:rstw
$ cp arm-linux-gnueabi-5.4.0.tar.xz ~
- 解壓壓縮包arm-linux-gnueabi-5.4.0.tar.xz
$ sudo tar -xvJf arm-linux-gnueabi-5.4.0.tar.xz
- 複制arm 到usr/locol/中
$ cd usr/local/
$sudo cp arm/ /usr/local/ -r
- 添加環境變量
$vim ~/.bashrc
#用鍵盤直接跳到最後一行添加一下語句
export PATH=/usr/local/arm/5.4.0/usr/bin:$PATH
-
檢查版本号
如果沒有出現以下資訊肯能是你在安裝過程中出現了問題請注意檢查第四步輸入是否有誤
- 随便找個代碼試試吧
出現了個意外!!!
error while loading shared libraries: libmpfr.so.4: cannot open shared object file: No such file or directory
主要是說這個庫 libmpfr.so.4 找不到的意思吧…小弟英語不咋地就看懂了這點東西…
- 修複這個錯誤先吧…
$cd /usr/local/arm/5.4.0/usr/lib
看看有沒有他找不到的那個庫!!?!?!
是不是發現确實存在
那是為什麼呢…這都怪環境變量我們在.bashrc再添加一下這個庫的路徑吧
$vim ~/.bashrc
用鍵盤直接跳到最後一行添加以下語句
export LD_LIBRARY_PATH=/usr/local/arm/5.4.0/usr/lib
-
再來一瓶
順便使用file指令看看兩個檔案的差別(沒錯這個交叉編譯工具隻支援32位的嵌入式平台噢)
OK 了!!
問題1: Linux:error while loading shared libraries: libmpc.so.3
解決:
https://altlinux.pkgs.org/sisyphus/classic-x86_64/libmpc3-1.1.0-alt1.x86_64.rpm.html
可以嘗試直接運作一下指令:
sudo apt-get install libmpc3
問題2: error while loading shared libraries: libmpfr.so.4: cannot open
shared object file: No such file or directory
解決嘗試執行以下指令:
sudo ln -s /usr/lib/x86_64-linux-gnu/libmpfr.so.6 /usr/lib/x86_64-linux-gnu/libmpfr.so.4