開源項目交叉編譯問題

交叉編譯開源項目

交叉編譯某個應用程序時,通常需要 ./configure 來生成對應的 Makefile
./configure 最關鍵的三個選項是:

–host=HOST
指定軟件運行的系統平臺.如果沒有指定,將會運行`config.guess’來檢測.

–build=BUILD
指定軟件包安裝的系統平臺.如果沒有指定,默認值將是’–host’選項的值.

–target=GARGET
指定軟件面向(target to)的系統平臺.這主要在程序語言工具如編譯器和彙編器上下文中起作用.如果沒有指定,默認將使用’–host’選項的值.

一般而言,我們只要指定 –host 就可以了
記住:–host 指定的是交叉編譯工具鏈的前綴

常見問題

1.host system type not recognized

./configure --host=aarch64-linux-gnu

結果輸出

checking host system type... Invalid configuration  aarch64-linux-gnu': machineaarch64' not recognized

解決辦法

sudo apt-get install libtool
cp /usr/share/libtool/build-aux/config.sub .
cp /usr/share/libtool/build-aux/config.guess .

參考編譯腳本

./configure --host=aarch64-linux-gnu \
    --prefix=/home/lvxinliang/workspace/log4cpp/log4cpp/out
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章