開源專案交叉編譯問題
阿新 • • 發佈:2018-12-30
交叉編譯開源專案
交叉編譯某個應用程式時,通常需要 ./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