我正在尝试构建一个可在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
输出文件是构建后我想要的 但是,如果我想通过 ndk-build 构建可执行文件,请使用 jni \ Android.mk 和 jni \ Application.mk ,该选项:< / p>
-static -static-libgcc -static-libstdc++ -std=gnu99
我应该追加,我应该选择哪个 .mk 文件? 我尝试添加:
LOCAL_CFLAGS := -static
进入 jni \ Andorid.mk ,但输出没有改变。
如何解决 .mk 问题?
答案 0 :(得分:5)
您可以在 Android.mk
中使用LOCAL_LDFLAGS := -static
结果与简单的 gcc 单行 ,但是 arm-linux-androideabi-nm 报告没有动态符号我