我已经为android平台开发了一个应用程序。它适用于ARM处理器。它运行正常。我想在运行在MIPS(32位)处理器上的Android上尝试相同的应用程序。我试图交叉编译应用程序但是可以我没有生成共享库。我正在使用为MIPS处理器定制的MIPS ndk和android源代码。虽然生成静态库,但它没有显示任何错误,但在生成共享库时,我收到以下错误:
/home/user/android-ndk-r7m/toolchains/mips-linux-android-4.4.3/prebuilt/linux-x86/bin /../ LIB / GCC / MIPS-Linux的机器人/ 4.4.3 /../../../../mips-linux-android/bin/ld:/home/user/workspace/testing/ccl_obj/libccl.a(teccl_call_initiate.o):对`__gnu_local_gp'重新定位R_MIPS_HI16可以制作共享对象时不得使用;用-fPIC重新编译 /home/user/workspace/testing/ccl_obj/libccl.a:无法读取符号:错误值 collect2:ld返回1退出状态 make: * [obj / local / mips-r2 / libhello-jni.so]错误1
请建议任何解决方案。
由于
答案 0 :(得分:0)
错误似乎暗示该怎么做。
编译源代码时,添加-fPIC编译器标志。
答案 1 :(得分:-1)
以防有人遇到这个问题。运行
make clean
make
我今天遇到了类似的问题,运行干净解决了我的问题。