交叉编译独立应用程序?

Cross compiling stand alone application?

我正在尝试为 arm board 交叉编译一个独立的应用程序,最重要的是我想在没有 Android.mk 框架的情况下编译它。

我有以下疑问:-

1- 我应该使用哪个工具(arm-eabi 或 arm-linux-androideabi 等)。

2-我应该从哪里下载相关的库和工具链 部分。

3- 我应该包括哪些独立的编译标志 编译(完全静态)。

如有不明之处欢迎评论,也请补充我遗漏的相关信息,如有详细信息将不胜感激。

NDK 的

Standalone Toolchain 部分恰好涵盖了这一点。

首先,编译器需要知道 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。