Gcc 交叉编译独立应用程序?

Gcc 交叉编译独立应用程序?,gcc,arm,cross-compiling,toolchain,gnu-toolchain,Gcc,Arm,Cross Compiling,Toolchain,Gnu Toolchain,我正在尝试为arm board交叉编译一个独立的应用程序,最重要的是我想在没有Android.mk framework的情况下编译它 我有以下疑问:- 1-我应该使用哪种工具,如arm eabi或arm linux AndroidABI 等等) 2-我应该从何处下载库和工具链相关文件 零件 3-对于单机版,我应该包括哪些编译标志 编译(完全静态) 如果问题不清楚,请发表意见,也请添加我遗漏的相关信息,详细信息将不胜感激。NDK的部分内容正好涵盖了这一点 首先,编译器需要知道sysroot所在的位

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

我有以下疑问:-

1-我应该使用哪种工具,如arm eabi或arm linux AndroidABI 等等)

2-我应该从何处下载库和工具链相关文件 零件

3-对于单机版,我应该包括哪些编译标志 编译(完全静态)

如果问题不清楚,请发表意见,也请添加我遗漏的相关信息,详细信息将不胜感激。

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。

我建议您阅读有关使用Android本机开发工具包的构建工具的文档。