2013-02-14 58 views
1

对于在 Android gcc sysroot and linker给出了在Ubuntu上编译NDK项目的原因,我编译我的Android NDK项目,arm-linux-gnueabi-gcc编译。有有Android NDK特异性不包括编译时没有问题,但现在包括jni.h包括<jni.h>与ARM-Linux的gnueabi-GCC

arm-linux-gnueabi-gcc -static -o main.exe main.c -I'path/to/native_app_glue' -I'/path/to/android-14/arch-arm/usr/include'

我得到一些神秘的错误undefined reference to __sF

有没有人知道什么可能是错的,或有人得到了Android NDK项目与jni.h成功编译与这样的独立工具链?

回答

2

除非您静态链接所有内容,否则编译arm-linux-gnueabi-工具链将不起作用,因为Android使用与Ubuntu不同的sonames。

+0

你能说出'arm-linux-gnueabi-gcc'语句你会用它来使这个工作吗? – 2013-02-14 04:37:17

+1

将'-static'添加到'CFLAGS' /'CXXFLAGS'。但是,您应该小心许可证:LGPL要求您提供程序的目标文件给任何请求它们的人。 – 2013-02-14 04:53:53

+0

这里是为我工作的'arm-linux-gnueabi-gcc -c ./main.c -o ./main.o -static -g --sysroot ='/ mnt/hgfs/F/android-ndk-r8d/platforms/android-14/arch-arm'' idk CFLAGS的工作原理。 – 2013-02-14 05:26:49