linux下编译android 版本的mupdf库

下载两个源码,一个是主源码,一个是mupdf-thirdparty.zip第三方的库,然后在mupdf的根目录make,生成generated目录,然后进入android,运行ndk-build,即可编译成功,我遇到一些问题:

当编译全局的mupdf时,出现了

CC build/debug/x11_image.o
apps/x11_image.c:21:33: 致命错误: X11/extensions/XShm.h:没有那个文件或目录
编译中断。

这个问题,解决方法是安装xorg-dev,sudo apt-get install xorg-dev。

 

当编译android的mupdf库时,出现

SharedLibrary : libmupdf.so
/home/zkw/developer/android-ndk-r8b/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin/../lib/gcc/arm-linux-androideabi/4.6.x-google/http://www.cnblogs.com/http://www.cnblogs.com/arm-linux-androideabi/bin/ld: ./obj/local/armeabi/libmupdfcore.a(pdf_fontfile.o)(.text.pdf_lookup_builtin_font+0x18): unresolvable R_ARM_THM_CALL relocation against symbol `strcmp'
/home/zkw/developer/android-ndk-r8b/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin/../lib/gcc/arm-linux-androideabi/4.6.x-google/http://www.cnblogs.com/http://www.cnblogs.com/arm-linux-androideabi/bin/ld: final link failed: Nonrepresentable section on output
collect2: ld returned 1 exit status

这是android-ndk的问题,我以前用7b的时候就没问题,升级到8b就这样了,网上找了半天,终于在一个IRC的log里面找到解决办法,目测只限r8b版本的ndk,方法就是:把android-ndk-r8b/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/arm-linux-androideabi/bin/目录下的ld文件改成ld.gold的符号链接。好蛋疼

posted @ 2012-08-15 11:41  周柯文  阅读(3388)  评论(0编辑  收藏  举报