如何使用arm-linux-androideabi编译器

时间:2014-01-29 07:08:23

标签: android c++ linux gcc android-ndk

我想知道如何使用arm-linux-androideabi编译器。 该编译器位于android-ndk工具上。

ndk-build工具上有android-ndk工具。要编译ethercat堆栈,我只需要arm-linux-androideabi编译器。

但是,我看到了这个消息。

root@ubuntu:/opt/android/android-ndk-r9c/jni# arm-linux-androideabi-gcc -o test test.c
/opt/android/android-ndk-r9c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: error: cannot open crtbegin_dynamic.o: No such file or directory
/opt/android/android-ndk-r9c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: error: cannot open crtend_android.o: No such file or directory
/opt/android/android-ndk-r9c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: error: cannot find -lc
/opt/android/android-ndk-r9c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: error: cannot find -ldl
collect2: ld returned 1 exit status

我该怎么做?

1 个答案:

答案 0 :(得分:7)

您需要让编译器知道在哪里查找这些文件。 尝试使用:

arm-linux-androideabi-gcc --sysroot=/opt/android/android-ndk-r9c/platforms/android-19/arch-arm -o test test.c

其中19是您要使用的Android API级别。您可以在ndk目录中找到有关docs / STANDALONE-TOOLCHAIN.html的更多信息。