日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux安装交叉编译环境

發布時間:2025/3/8 linux 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux安装交叉编译环境 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

(一)交叉編譯器的簡介

(1)本地編譯

在了解交叉編譯之前我們首先介紹一下另一個概念:本地編譯
之前所做的C開發屬于本地編譯,即在當前PC下(x86的CPU下),直接編譯出可以運行的程序(或者庫文件),其直接在當前的環境(即x86的CPU下),此時的編譯稱為本地編譯,即在當前平臺下,編譯出來的程序,只能放到當前平臺下運行。

(2)交叉編譯(cross compile)

交叉編譯和本地編譯為相對應的概念。所謂的交叉編譯就是在一種平臺上編譯出來的程序,是放到別的平臺環境運行,即編譯的環境和運行的環境不一樣,屬于交叉的,或稱為cross。交叉編譯的概念,主要使用在嵌入式開發當中。

(二)為何要有交叉編譯

之所以需要有交叉編譯,是因為嵌入式系統中的資源太少,即交叉編譯出來的程序,所要運行的目標環境資源有限,所以很難進行直接的本地編譯。
最常見的情況是:在進行嵌入式開發時,比如目標平臺(嵌入式開發板)為最大主頻200MHz的ARM的CPU,加上RAM、Nand Flash等等。在如此相對比較緊張的硬件資源的前提下,加上已經運行了嵌入式Linux程序,是很難直接去進行本地編譯的,因為編譯,開發會消耗較多的CPU、內存、硬盤等資源,而嵌入式開發板上的資源,除去嵌入式(Linux)系統運行部分,沒太多剩余的資源供本地編譯。

(三)如何搭建交叉編譯器

(1)獲得源碼: arm-linux-gcc-4.5.1-v6-vfp-20120301.tgz

(2)拷貝源碼到Ubuntu系統中/driver(創建的一個目錄)的文件夾下.

(3)進入存放目錄,解壓縮到根目錄

tar -xzvf arm-linux-gcc-4.5.1-v6-vfp-20120301.tgz -C /

注:-C選項制定了解壓路徑,指定在 / ,解壓出來后的目錄名為opt,所以會存放在/opt下。

(4)修改環境變量
把交叉編譯器的路徑加入到PATH,PATH 決定了shell將到哪些目錄中尋找命令或程序

方法一:修改/etc/bash.bashrc(為每一個運行bash shell的用戶執行此文件.當bash shell被打開時,該文件被讀取)文件#vim /etc/bash.bashrc在最后加上:export PATH=$PATH: /opt/FriendlyARM/toolschain/4.5.1/bin 方法二:修改/etc/profile文件(為系統的每個用戶設置環境信息,當用戶第一次登錄時,該文件被執行.并從/etc/profile.d目錄的配置文件中搜集shell的設置): #vim /etc/profile 增加路徑設置,在末尾添加如下,保存/etc/profile文件: export PATH=$PATH: /opt/FriendlyARM/toolschain/4.5.1/bin 方法三:# export PATH=$PATH: /opt/FriendlyARM/toolschain/4.5.1/bin注:臨時保存,重啟失效

(5)立即使新的環境變量生效,不用重啟電腦:

 對應方法一:#source /root/.bashrc對應方法二:# source /etc/profile

(6)檢查是否將路徑加入到PATH:

   # echo $PATH

顯示的內容中有/opt/FriendlyARM/toolschain/4.5.1/bin,說明已經將交叉編譯器的路徑加入PATH,交叉編譯環境變量添加成功。
(7)安裝32位庫兼容包

sudo apt-get install lib32ncurses5 lib32z1

(8)測試是否安裝成功
此時你可以在控制臺輸入:arm-linux-gcc -v ,如果安裝成功將會輸出 arm-linux-gcc的版本號。

(四)問題記錄

  • 安裝完成提示沒有文件或者目錄
  • /bin/bash: /root/tool/arm-linux-gcc-4.5.1/bin/arm-linux-gcc: 沒有那個文件或目錄

    需要安裝下面的程序

    sudo apt-get install lsb-core

    再次測試:

    root@l-virtual-machine:~/uboot/u-boot-2009.11# arm-linux-gcc arm-linux-gcc: no input files

    總結

    以上是生活随笔為你收集整理的linux安装交叉编译环境的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。