1. 程式人生 > >開源專案交叉編譯問題

開源專案交叉編譯問題

交叉編譯開源專案

交叉編譯某個應用程式時,通常需要 ./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