Android NDK で make-standalone-toolchain.sh スクリプトを実行して生成されたクロスコンパイル ツールチェーンと、ダウンロードした Android NDK ツールチェーン ソースからの gcc ソース ファイルを使用して、CentOS で Android 用の gcc を構築しています。GMP ソースは、gcc/contrib フォルダーにある download_prerequisites スクリプトを実行することによって取得されました。
--build=x86_64-linux と --host=arm-linux-eabi を指定しました。クロス コンパイル ツールは env 変数に設定され、configure の実行時に指定されます。../gcc-4.7/configure を実行してから、make -d を実行しました。/bin/sh で gmp をビルドすると、Make が失敗します。./gen-fac_ui. バイナリを実行できません。
具体的なコマンドは次のとおりです。./gen-fac_ui $(BITS_PER_MP_LIMB) $(GMP_NAIL_BITS) >mpz/fac_ui.h || (rm -f mpz/fac_ui.h; 出口 1)
クロスコンパイル ツールを使用しており、gen-fac_ui バイナリが CentOS で実行されないため、実行が失敗したと推測しています。私の質問は: 回避策として mpz/fac_ui.h を生成する別の方法はありますか?
また、make -d -i を実行してみました。これは正常に終了しますが、gcc や g++ などのキー ファイルのビルドをスキップしているようです。