オープンソースプロジェクトのクロスコンパイルの問題

1615 ワード

クロスコンパイルオープンソースプロジェクト


アプリケーションをクロスコンパイルする場合、通常は./対応するMakefile./configureの最も重要な3つのオプションは、次のとおりです.
-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