1

Windows で Android システム ライブラリを静的にリンクする実行可能ファイルをビルドしようとしています。次のコマンドを使用します。

%NDK_PATH%\toolchains\arm-linux-androideabi-4.8\prebuilt\windows-x86_64\bin\arm-linux-androideabi-gcc.exe jni\main.c -o main --sysroot=%NDK_PATH%\platforms\android-9\arch-arm -static 

オプションを追加する必要があるかもしれません:

 -static-libgcc -static-libstdc++ -std=gnu99

出力ファイルは、ビルド後に必要なものです。
ただし、実行可能ファイルをビルドする場合は、jni\Android.mkjni\Application.mkをndk-build経由で使用します。このオプションは次のとおりです。

-static -static-libgcc -static-libstdc++ -std=gnu99

追加する必要があり、どの.mkファイルを選択すればよいですか?
追加してみます:</p>

LOCAL_CFLAGS := -static

jni\Andorid.mkに入れますが、出力は変更されません。

.mk問題を解決するには?

4

1 に答える 1

5

Android.mkで使用できます

LOCAL_LDFLAGS := -static

結果は単純なgccワンライナーと同じではありませんが、 arm-linux-androideabi-nmは動的シンボルを報告しません。

于 2014-06-19T12:22:57.960 に答える