《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 業界動態 > Ubuntu實現樹莓派交叉編譯

Ubuntu實現樹莓派交叉編譯

2015-09-18
關鍵詞: Ubuntu 編譯

  一、交叉編譯
  在一個平臺上生成另一個平臺上的可執行代碼。為什么要大費周折的進行交叉編譯呢?一句話:不得已而為之。有時是因為目的平臺上不允許或不能夠安裝所需要的編譯器,而又需要這個編譯器的某些特征;有時是因為目的平臺上的資源貧乏,無法運行所需要的編譯器;有時又是因為目的平臺還沒有建立,連操作系統都沒有,根本談不上運行什么編譯器。
  要進行交叉編譯,我們需要在主機平臺上安裝對應的交叉編譯工具鏈(cross compilation tool chain),然后用這個交叉編譯工具鏈編譯源代碼,最終生成可在目標平臺上運行的代碼。
  常見的交叉編譯例子如下:
  1、在Windows PC上,利用ADS(ARM 開發環境),使用armcc編譯器,則可編譯出針對ARM CPU的可執行代碼。
  2、在Linux PC上,利用arm-linux-gcc編譯器,可編譯出針對Linux ARM平臺的可執行代碼。
  3、在Windows PC上,利用cygwin環境,運行arm-elf-gcc編譯器,可編譯出針對ARM CPU的可執行代碼。
  二、名詞解釋
  Linux下的大多數軟件包都使用Autoconf/Automake工具自動生成Makefile,只要使用“./configure”,“make”,“make install”就可以把程序安裝到Linux系統中去了。編譯第三方源代碼時,可以看下工程中的readme和install文件,一般情況下都會寫編譯步驟。
  1、./configure 常用參數
  [--build]
  [--host]
  [--target]
  [--prefix]
  [--help]
  注意:host和--host不是一個意思,host是指宿主機,即編輯和編譯程序的平臺,是個名詞;--host是設置執行文件所運行的主機,是個動詞。
  >> ./configure: 用來生成對應的 Makefile;
  >> --build: 執行代碼編譯的主機,正常的話就是你的主機系統。若無指定使用host的值;
  >> --host: 編譯出來的二進制程序所執行的主機, 交叉編譯工具鏈的前綴。因為絕大多數是如果本機編譯就本機執行,所以這個值就等于build。但是交叉編譯的時候build和host需要設置不同值,用host指定運行主機,即host != build的時候編譯才是交叉編譯。若無指定將會運行`config.guess"來檢測;
  >> --prefix: 安裝目錄,比如 --prefix=/usr 意思是將該軟件安裝在 /usr 下面,執行文件就會安裝在 /usr/bin (而不是默認的 /usr/local/bin),資源文件就會安裝在 /usr/share(而不是默認的/usr/local/share);
  >> --help: 查看參數;
  >> --target: 這個參數比較特殊,表示需要處理的目標平臺名稱,主要在程序語言工具如編譯器和匯編器上下文中起作用,若無指定使用host的值。一般用來編譯工具,比如給arm開發板編譯一個可以處理mips程序的gcc,那么--target=mips;
  >>>> 舉例說明:編譯gcc
  >> ./configure --build=i386-linux --host=arm-linux --target=mipsel-linux --prefix=$(pwd)/_install
  用i386-linux的編譯器進行gcc的編譯,編譯出的gcc運行在arm-linux, 編譯結果存放到$(pwd)/_install路徑下,編譯出的gcc用來編譯能夠在mipsel-linux下運行的代碼。
  2、Makefile包含了一些基本的預先定義的操作:
  >>make: 根據Makefile編譯源代碼,連接,生成目標文件,可執行文件;
  >>make clean: 清除上次的make命令所產生的t文件(后綴為“.o”的文件)及可執行文件;
  >>make distclean: 類似make clean,但同時也將configure生成的文件全部刪除掉,包括Makefile;
  >>make test / make check: 檢查make,確保make沒有出錯,一般在make install之前執行;
  >>make install: 將編譯成功的可執行文件安裝到指定目錄中,一般為/usr/local/bin目錄;
  >>make dist: 產生發布軟件包文件(即distribution package)。這個命令將會將可執行文件及相關文件打包成一個tar.gz壓縮的文件用來作為發布軟件的軟件包。它會在當前目錄下生成一個名字類似“PACKAGE-VERSION.tar.gz”的文件。PACKAGE和VERSION,是我們在configure.in中定義的AM_INIT_AUTOMAKE(PACKAGE, VERSION);
  >>make distcheck: 生成發布軟件包并對其進行測試檢查,以確定發布包的正確性。這個操作將自動把壓縮包文件解開,然后執行configure命令,并且執行make,來確認編譯不出現錯誤,最后提示你軟件包已經準備好,可以發布了;
  三、交叉編譯源代碼
  1、環境
  Ubuntu
  2、樹莓派交叉編譯工具安裝
  step1. 下載樹莓派交叉編譯工具https://github.com/raspberrypi/tools
  step2. 將源碼放到各用戶都能share的文件夾下,如/usr/tools
  step3. 將交叉編譯工具的路徑加到環境變量中,為了以后啟動不用再設置,我加到了bashrc中
  1 $nano ~/.bashrc 2 #在文件的末尾加上: export PATH=$PATH:/usr/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin 3 $source .bashrc
  step4. 檢測是否安裝成功
  way1:
  $arm #雙tab
  顯示以下內容
  環信謝雅杰:Ubuntu實現樹莓派交叉編譯
  way2:
  $arm-linux-gnueabihf-gcc -v #能顯示正確信息 $arm-linux-gnueabihf-g++ -v #能顯示正確信息
  注意:交叉編譯時,如果出現arm-linux-gnueabihf-XXX找不到,確定arm-linux-gnueabihf-XXX -v 是否能輸出正確信息,如果能,可以切到root下進行編譯
  三、編譯源代碼
  1、在寫編譯腳本時,一定要確保編譯器寫的是交叉編譯的編譯器。比如比較常用的Makefile,
  1 demo: $(obj) 2 $(CXX) -o $@ $^ $(LDFLAGS)
  其中的CXX必須是arm-linux-gnueabihf-g++才能編譯出正確的在樹莓派上的可執行文件。
  2、編譯第三方庫
  如果你想設置全局的CC和CXX變量,在每次打開一個新的Terminal時,輸入以下命令:
  1 $export CC=arm-linux-gnueabihf-gcc 2 $export CXX=arm-linux-gnueabihf-g++
  其他的全局變量同上。
  以下列幾個常用的第三方庫交叉編譯步驟
  1>> sqlite3   step1: make clean
  step2: ./configure --host=arm-linux-gnueabihf --prefix=/usr/local/tools/sqlite3
  step3: make
  step4: make install
  2>>curl http://curl.haxx.se/download.html curl-7.43.0.tar.gz
  step1: make clean
  step2: ./configure --host=arm-linux-gnueabihf --prefix=/usr/local/tools/curl
  step3: make
  step4: make install
  step1: ./config no-asm shared --prefix=/usr/local/tools/openssl
  step2: a、修改Makefile CC=arm-linux-gnueabihf-gcc
  b、找到有-m64的地方,將-m64刪除。
  step3: make

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          欧美日韩在线综合| 国产一区二区精品在线观看| 久久综合国产精品台湾中文娱乐网| 国产精品―色哟哟| 激情成人中文字幕| 久久大逼视频| 在线视频国产日韩| 麻豆九一精品爱看视频在线观看免费| 欧美国产成人在线| 国产一区成人| 久久露脸国产精品| 欧美精品在线视频观看| 99re8这里有精品热视频免费| 亚洲视频www| 在线看一区二区| 久久午夜视频| 国产日韩一区二区三区| 亚洲欧美国产日韩中文字幕| 一区二区国产在线观看| 亚洲精品乱码久久久久久蜜桃91| 亚洲高清激情| 性欧美在线看片a免费观看| 久久超碰97中文字幕| 欧美一区二区三区免费视频| 麻豆精品国产91久久久久久| 中文国产一区| 国产综合婷婷| 国产伦精品一区二区三区视频孕妇| 好吊视频一区二区三区四区| 欧美视频官网| 亚洲欧美日韩国产另类专区| 国产一区二区三区四区hd| 你懂的国产精品| 久久久噜噜噜久噜久久| 欧美一区二区三区男人的天堂| 久久人人看视频| 亚洲精品日韩在线| 国产农村妇女毛片精品久久莱园子| 亚洲与欧洲av电影| 亚洲精品国产精品久久清纯直播| 久久亚洲春色中文字幕| 久久伊人一区二区| 国产精品你懂的| 久久精品亚洲精品国产欧美kt∨| 欧美精品一区二区视频| 国产精品99免费看| 国产精品一区二区女厕厕| 欧美色123| 亚洲一二三四久久| 亚洲一区视频在线观看视频| 欧美日韩人人澡狠狠躁视频| 亚洲视频免费在线| 欧美中文字幕在线视频| 宅男在线国产精品| 激情综合中文娱乐网| 尤妮丝一区二区裸体视频| 在线观看成人小视频| 狂野欧美激情性xxxx欧美| 国产专区精品视频| 国产精品日韩精品欧美精品| 久久精品成人一区二区三区蜜臀| 国产日韩在线亚洲字幕中文| 亚洲欧美成人一区二区在线电影| 久久久久免费视频| 欧美视频在线免费看| 亚洲黄色成人久久久| 国产精品免费观看在线| 亚洲欧美日韩精品久久亚洲区| 午夜国产精品视频免费体验区| 欧美成人一区二区三区片免费| 久久精品盗摄| 亚洲国产经典视频| 亚洲一区美女视频在线观看免费| 久久婷婷国产麻豆91天堂| 欧美在线免费观看视频| 国产精品成人免费精品自在线观看| 欧美.www| 国产一区二区三区精品欧美日韩一区二区三区| 麻豆91精品| 9色porny自拍视频一区二区| 国产一区二区日韩精品| 亚洲毛片av在线| 国产乱码精品一区二区三区不卡| 国产欧美日韩视频一区二区| 欧美精品一区二区在线观看| 国产精品美女在线观看| 久久久免费精品| 久久av老司机精品网站导航| 国产精品免费看久久久香蕉| 一区二区三区久久| 亚洲三级观看| 欧美成人黑人xx视频免费观看| 欧美日韩第一页| 国产在线视频欧美一区二区三区| 欧美一级视频一区二区| 亚洲激情一区二区三区| 亚洲欧美欧美一区二区三区| 欧美喷潮久久久xxxxx| 欧美日韩国产综合网| 亚洲精品综合久久中文字幕| 久久成人免费日本黄色| 亚洲日本欧美| 在线日韩av| 欧美视频免费在线观看| 欧美日韩免费观看一区二区三区| 免费成人高清| 亚洲一区二区三区精品在线观看| 久久精品国产亚洲高清剧情介绍| 久久国产一区| 亚洲视频一二区| 欧美午夜性色大片在线观看| 黄色免费成人| 欧美在线免费视频| 亚洲欧美日韩一区在线观看| 欧美一区亚洲二区| 亚洲自拍都市欧美小说| 亚洲激情av在线| 中国成人黄色视屏| 亚洲午夜电影在线观看| 亚洲第一福利视频| 激情五月***国产精品| 好吊视频一区二区三区四区| 这里只有视频精品| 久久性天堂网| 欧美一级淫片aaaaaaa视频| 免费观看成人鲁鲁鲁鲁鲁视频| 久久免费视频网站| 亚洲日本激情| 午夜精品视频在线观看| 亚洲欧美在线另类| 国产精品丝袜久久久久久app| 一区二区91| 欧美日韩网站| 一区电影在线观看| 国产三级精品三级| 亚洲国产精品传媒在线观看| 久久久久久亚洲综合影院红桃| 国产综合第一页| 欧美一区二区三区久久精品茉莉花| 国产精品久久二区二区| 国产精品一区三区| 亚洲欧美日韩另类精品一区二区三区| 国产视频亚洲精品| 亚洲国产一区二区在线| 亚洲免费一在线| 久热精品视频在线观看一区| 一区二区三区在线视频免费观看| 中文亚洲视频在线| 美女诱惑一区| 亚洲精品黄网在线观看| 国产精品一级二级三级| 欧美午夜精品伦理| 欧美视频日韩视频在线观看| 欧美专区一区二区三区| 欧美在线免费视频| 亚洲字幕在线观看| 国产日韩av一区二区| 国产精品久久久久7777婷婷| 久久午夜国产精品| 亚洲永久免费观看| 亚洲品质自拍| 国产女人水真多18毛片18精品视频| 亚洲欧美色婷婷| 午夜日韩在线观看| 久久久7777| 欧美α欧美αv大片| 久久视频一区二区| 国产精品美女在线| 国产精品国产三级国产普通话蜜臀| 日韩视频精品在线观看| 欧美性猛交视频| 午夜国产精品视频| 国产精品白丝黑袜喷水久久久| 午夜久久福利| 欧美精品在线看| 国产精品自拍一区| 日韩视频久久| 欧美日韩在线精品| 影音先锋久久久| 亚洲免费人成在线视频观看| 亚洲欧美福利一区二区| 99国产精品久久久久久久成人热| 久久精彩免费视频| 欧美黄色免费网站| 久久久久久久波多野高潮日日| 亚洲视频免费看| 久久国产日韩欧美| 最新亚洲电影| 一本久道久久综合中文字幕| 国产日韩欧美二区| 久久狠狠久久综合桃花| 亚洲主播在线播放| 国产精品欧美日韩| 久久午夜羞羞影院免费观看| 久久精品国产69国产精品亚洲| 国内精品久久久久久久影视蜜臀| 欧美一级一区| 国产麻豆精品久久一二三| 免费亚洲电影在线观看| 欧美在线观看一区| 国产精品麻豆成人av电影艾秋| 亚洲欧美经典视频| 国产自产女人91一区在线观看| 亚洲日本中文字幕| 9l视频自拍蝌蚪9l视频成人| 国产精品视频你懂的| 欧美日韩国产综合视频在线观看| 亚洲国产欧美一区二区三区丁香婷| 男女激情久久| 欧美精品在线免费| 国产情人节一区| 欧美日韩成人综合天天影院| 99在线精品免费视频九九视| 欧美日韩免费一区| 欧美日韩国产首页在线观看| 国产情人综合久久777777| 欧美激情按摩在线| 一区二区亚洲欧洲国产日韩| 欧美中文在线观看| 一本色道久久| 一区电影在线观看| 亚洲日本中文字幕免费在线不卡| 欧美视频久久| 日韩视频在线你懂得| 国产精自产拍久久久久久蜜| 亚洲在线成人| 欧美体内she精视频在线观看| 国产精品免费看| 欧美一区二区三区免费观看| 久久成人在线| 亚洲第一狼人社区| 久久精品国产久精国产爱| 欧美色综合天天久久综合精品| 先锋影音网一区二区| 久久久www成人免费毛片麻豆| 夜夜躁日日躁狠狠久久88av| 亚洲一二三四久久| 红桃视频成人| 欧美视频精品一区| 午夜视频精品| 久久久久久久久一区二区| 亚洲深爱激情| 亚洲国产精品第一区二区三区| 欧美性猛交xxxx乱大交蜜桃| 亚洲一区二区伦理| 国产精品一区二区三区久久| 欧美一区二区| 欧美日本一区二区高清播放视频| 国产精品老牛| 欧美一区二区三区在线视频| 一区二区三区产品免费精品久久75| 欧美成人精精品一区二区频| 欧美国产精品v| 亚洲电影有码| 日韩午夜激情| 一区二区亚洲精品国产| 亚洲国产天堂久久国产91| 久久福利电影| 国产一区二区久久久| 国产伦理精品不卡| 国产欧美日韩视频在线观看| 欧美视频精品在线| 午夜精品久久一牛影视| 久久免费观看视频| 欧美日韩在线视频一区| 欧美日韩中字| 亚洲一区二区三区三| 亚洲精品午夜精品| 久久躁日日躁aaaaxxxx| 国内在线观看一区二区三区| 亚洲一区二区伦理| 性欧美在线看片a免费观看| 亚洲欧美日韩国产另类专区| 国产日产精品一区二区三区四区的观看方式| 亚洲图片欧洲图片日韩av| 亚洲专区一区二区三区| 亚洲国产综合在线| 亚洲欧洲日本一区二区三区| 在线日韩日本国产亚洲| 亚洲国产精品精华液2区45| 国产亚洲欧美日韩精品| 日韩一级在线观看| 免费成人性网站| 久久精品噜噜噜成人av农村| 欧美精品亚洲一区二区在线播放| 欧美成人午夜影院| 亚洲精品一区二区三区99| 欧美一区二区三区精品| 亚洲国产91色在线| 欧美日韩午夜| 欧美日本在线看| 欧美极品欧美精品欧美视频| 欧美日一区二区三区在线观看国产免| 国产精品一区二区男女羞羞无遮挡| 亚洲一区二区日本| 国产精品v日韩精品v欧美精品网站| 精品动漫3d一区二区三区| 夜色激情一区二区| 欧美日韩一区高清| 欧美日韩亚洲网| 亚洲欧美999| 亚洲精选91| 国产精品久久91| 欧美国产欧美亚州国产日韩mv天天看完整| 久久精品国产成人| 欧美第十八页| 国产毛片久久| 日韩亚洲欧美综合| 亚洲愉拍自拍另类高清精品| 亚洲欧美美女| 国产精品免费观看在线| 国产精品外国| 欧美日本亚洲视频| 欧美大胆a视频| 欧美激情久久久久久| 欧美人体xx| 中文无字幕一区二区三区| 欧美伊人久久久久久久久影院| 亚洲国产精品一区二区久| 亚洲在线一区二区三区| 欧美日韩你懂的| 西西裸体人体做爰大胆久久久| 欧美亚洲免费高清在线观看| 亚洲精品一区二区三区樱花| 欧美激情免费观看| 国产精品日韩电影| 亚洲小视频在线| 国产亚洲精品久久久久久|