溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

arm-linux-gcc交叉編譯器安裝是怎樣的

發(fā)布時(shí)間:2021-10-22 10:37:53 來源:億速云 閱讀:116 作者:柒染 欄目:互聯(lián)網(wǎng)科技

arm-linux-gcc交叉編譯器安裝是怎樣的,很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

在網(wǎng)上下載arm-linux-gcc-4.4.3.tar.gz。

1、解壓#tar -zxvf arm-linux-gcc-4.4.3.tar.gz

2、打開解壓目錄,將FriendlyARM文件夾拷貝到文件夾usr/local/。

cd /usr/local/

cp -rv FriendlyARM /usr/local/

(交叉編譯程序集都在/usr/local/arm/4.4.3/bin)

3、修改環(huán)境變量,將交叉編譯器的路徑加入到PATH。

方法一(未測(cè)過):修改/etc/bash.bashrc文件
                 #vi /etc/bash.bashrc
                 在最后加上:
                export PATH=$PATH:/usr/local/FriendlyARM/toolschain/4.4.3/bin
                export PATH
方法二(測(cè)試,無用):修改/etc/profile文件:
                # vi /etc/profile
               增加路徑設(shè)置,在末尾添加如下,保存/etc/profile文件:
               export PATH=$PATH:/usr/local/FriendlyARM/toolschain/4.4.3/bin

方法三:#export PATH=$PATH:/usr/local/FriendlyARM/toolschain/4.4.3/bin

其實(shí),直接采用方法三即可。

4、立即使新的環(huán)境變量生效。     

      對(duì)應(yīng)方法一(未測(cè)過):#source /root/.bashrc
    對(duì)應(yīng)方法二(未測(cè)過):# source /etc/profile
5、檢查是否將路徑加入到PATH:
      # echo $PATH
  顯示的內(nèi)容中有/usr/local/FriendlyARM/toolschain/4.4.3/bin,說明已經(jīng)將交叉編譯器的路徑加入PATH。

6、測(cè)試是否安裝成功
   # arm-linux-gcc -v
  顯示arm-linux-gcc信息和版本。arm-linux-gcc成功安裝。

7、小試牛刀。

  vi下編寫hello.c程序。

int main(){

      printf("hello!\n");

      return 0;

}

#arm-linux-gcc hello.c -o hello (與gcc hello.c -o hello使用方法一樣)。

有如下錯(cuò)誤:

/usr/local/FriendlyARM/toolschain/4.4.3/bin/../libexec/gcc/arm-none-linux-gnueabi/4.4.3/cc1: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.9' not found (required by /usr/local/FriendlyARM/toolschain/4.4.3/lib/libppl_c.so.2)
/usr/local/FriendlyARM/toolschain/4.4.3/bin/../libexec/gcc/arm-none-linux-gnueabi/4.4.3/cc1: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.9' not found (required by /usr/local/FriendlyARM/toolschain/4.4.3/lib/libppl.so.7)

原因:strings /usr/lib/libstdc++.so.6 | grep GLIBC,返回結(jié)果沒有GLIBCXX_3.4.9,接著輸入ls -l /usr/lib/libstdc++.so.6 ,結(jié)果為:

lrwxrwxrwx 1 root root 18 02-13 19:06 /usr/lib/libstdc++.so.6 -> libstdc++.so.6.0.8

         libstdc++.so.6是個(gè)軟鏈接,它鏈接到libstdc++.so.6.0.8。而libstdc++.so.6.0.8,沒有`GLIBCXX_3.4.9'。版本過低。

解決辦法:

      一、網(wǎng)上下載libstdc++.so.6.0.10。放到/urs/lib目錄下。

      二、刪除libstdc++.so.6。rm -rf /usr/lib/libstdc++.so.6。

      三、重做libstdc++.so.6。軟鏈接,ln -s /usr/lib/libstdc++.so.6.0.10 /usr/lib/libstdc++.so.6.

      然后,重新輸入#arm-linux-gcc hello.c -o hello??梢钥吹骄幾g成功。運(yùn)行#hello,"cannot execute binary file".

      arm-linux-gcc編譯的文件只能在arm開發(fā)板上運(yùn)行,所以此處提示正確。

看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝您對(duì)億速云的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI