1

我正在尝试为 arm 板交叉编译一个独立的应用程序,最重要的是我想在没有 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 回答