1

アームボード用のスタンドアロンアプリケーションをクロスコンパイルしようとしていますが、最も重要なのは、Android.mk フレームワークなしでコンパイルしたいということです。

私は次の疑問を持っています:-

1-どのツールを使用する必要がありますか(arm-eabiまたはarm-linux-androideabiなど)。

2- ライブラリとツールチェーン関連のパーツはどこからダウンロードすればよいですか。

3- スタンドアロン コンパイル (完全に静的) に含めるべきコンパイル フラグは何ですか。

質問が明確でない場合はコメントしてください。また、欠落している関連情報を追加してください。詳細な情報をいただければ幸いです。

4

1 に答える 1

2

NDK のスタンドアロン ツールチェーン部分は、これを正確にカバーします。

まず第一に、コンパイラは標準ライブラリを見つけることができるように、sysroot がどこにあるかを知る必要があります。

SYSROOT=$NDK/platforms/android-21/arch-arm

そして、あなたができること

export CC="$NDK/toolchains/arm-linux-androideabi-4.8/prebuilt/ \
linux-x86/bin/arm-linux-androideabi-gcc-4.8 --sysroot=$SYSROOT"  $CC -o foo.o -c foo.c

静的コンパイルの場合-staticは、呼び出しに追加するだけです。

高度な方法は、sysroot を指定せずに直接呼び出すことができるディレクトリに特定のツールチェーンをインストールすることです。

于 2015-12-22T13:19:20.787 に答える