2014-01-29 55 views
6

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

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

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

[email protected]:/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 

我该怎么做?

回答

6

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

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的更多信息。