交叉编译独立应用程序?

时间:2015-12-22 08:37:10

标签: gcc arm cross-compiling toolchain gnu-toolchain

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

我有疑问: -

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

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

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

请评论如果问题不明确也请添加我遗漏的相关信息,详情请参阅。

1 个答案:

答案 0 :(得分:2)

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。