1.1、gcc編譯單個c++程序(hello.c)
gcc hello.c -o hello (hello是生成的可執(zhí)行程序的名字)
1.2、交叉編譯hello.c
源平臺: UOS_X86_64
目標平臺:UOS_arm
方法:使用現(xiàn)成的交叉編譯工具鏈
參考資料:交叉編譯概念 ; 安裝交叉編譯器 ; 交叉編譯入門
(步驟1)去平臺下載對應(yīng)的工具鏈
https://www.linaro.org/downloads/
https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads
以上兩個均可以下載,我下載的是
創(chuàng)建了一個目錄:$HOME/local/X86ToArm
,下載之后將其解壓這個目錄下面,會看到解壓出的文件夾里包括了一堆文件夾,是arm的一些底層文件,其中bin文件中存在一個arm-linux-gnueabihf-gcc
文件,是我們的交叉編譯工具
(步驟2)添加環(huán)境變量vim /etc/profile
進入配置目錄(或者~/.brashrc; profile作用于所有用戶; brashrc作用于當前用戶)
然后再末尾將上面解壓的路徑添加到PATH:(i: 進入編輯; Esc:退出編輯模式; :wq 保存并退出)
保存退出之后輸入 source /etc/profile
重新加載配置文件; 然后輸入arm-linux-gnueabihf-gcc -v
回車,如果這個交叉編譯鏈可以成功起作用,就會加載出一堆信息,包括版本信息
(步驟3)可以編譯啦文章來源:http://www.zghlxwxcb.cn/news/detail-740614.html
arm-linux-gnueabihf-gcc hello.c -o hello_arm
運行上面的命令,就可以生成hello_arm的可執(zhí)行程序,運行發(fā)現(xiàn)它在當前的x86下不能運行,拿到arm就可以成功輸出hello world!文章來源地址http://www.zghlxwxcb.cn/news/detail-740614.html
到了這里,關(guān)于gcc編譯 與交叉編譯(x86 to arm) (一)單個文件編譯的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!