交叉編譯:是在乙個平台上生成另乙個平台上的可執行**編譯
例:c51的交叉編譯發生在keil(整合環境上面)
linux上面編寫樹莓派的**,並編譯成可執行的**,如***.out,在樹莓派上執行
目的平台上不允許或不能夠安裝我們所需要的編譯器:
1、目的平台上的資源貧乏,無法執行我們所需要編譯器
2、目的平台還沒有建立,連作業系統都沒有,根本談不上執行什麼編譯器平台
執行至少需要兩樣東西:bootloader(啟動引導**)以及作業系統核心
宿主機(host) :編輯和編譯程式的平台,一般是基於x86的pc機,通常也被稱為主機。
目標機(target):使用者開發的系統,通常都是非x86平台。host編譯得到的可執行**在target上執行。
交叉編譯需要用到工具:交叉編譯器、交叉編譯工具鏈
臨時有效
修改path環境變數,開啟另乙個終端將無法使用
export path=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/admin_/learn/lessonpi/tools-master/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin
方法二:永久有效
1.修改工作目錄下的.bashrc隱藏檔案,配置命令終端vi /home/admin_/.bash
2.在該指令碼下,加入上述環境變數並儲存
export path=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/admin_/learn/lessonpi/tools-master/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin
3.然後,source /home/admin_/.bash載入配置檔案,馬上生效指令
2.檢視檔案資訊
file 檔名,可以看到下圖中上面的檔案適用x86架構的機器,下面的檔案適合arm架構的機器
3.傳輸檔案
將linux的檔案傳輸到樹莓派機器:
scp test [email protected]:/home/test
一、交叉編譯在樹莓派上執行hello world
1、編輯好hello world**
2、使用gcc編譯
3、檢視test_1檔案型別為x86-64位型號的系統
4、使用arm-linux-gnueabihf-gcc test.c -o test_2編譯arm架構的
5、檢視test_2型別
6、執行檔案
7、將交叉編譯好的test_2拷貝到樹莓派上
檢視樹莓派端,並成功執行hello world
二、曾經ftp專案
arm交叉編譯Valgrind
1.wget 把檔案考到板子上,並同步板子的時間到現在。tar xvf valgrind 3.11.0.tar.bz2 cd valgrind 3.11.0 3.configure make make install 注意 prefix opt valgrind指定的目錄要與開發板上放置的目錄一致,...
openssl交叉編譯arm
1 交叉編譯arm環境的openssl 修改config檔案 因為晶元架構為armv7,所以新增 guessos armv7 generic linux2 對應位置 除了修改config檔案也可以在.config的時候新增 march armv7 a 引數 2 使用過程中遇到的問題 我使用的虛擬機器...
boost交叉編譯(arm)
解壓 tar zxvf boost 1 73 0.tar.gz檢視可選庫 cd boost 1 73 0 bootstrap.sh show libraries編譯 bootstrap.sh with libraries filesystem,thread with toolset gcc使用 wi...