三金兄的自留地儿

导航

Ubuntu10.04 下Mupdf编译

项目的需要,最近在看Mupdf,Mupdf是一款强大的开源PDF解析库,主页:http://www.mupdf.com/

由于要在android中使用到Mupdf,Mupdf是用c\c++语言编写的,所以我们需要使用NDK将其编译为库文件使用

NDK下载地址:http://developer.android.com/sdk/ndk/index.html

NDK的安装很简单,只要设置一下环境变量就可以了

1.NDK环境变量设置,打开.bashrc文件

#set the ndk environment
export ANDROID_NDK=/home/sanjinxiong/NDK/android-ndk-r5c
export PATH=$ANDROID_NDK:$PATH

2.下载Mupdf及相关的第三方组件

mupdf-0.8.15-source(http://www.mupdf.com/download/mupdf-0.8.15-source.tar.gz)
mupdf-0.8.15-pregen(http://www.mupdf.com/download/mupdf-0.8.15-pregen.zip)
mupdf-thirdparty(http://www.mupdf.com/download/mupdf-thirdparty.zip)

3.分别解压缩上面三个压缩包,并且放在同一级目录下

4.去掉thirdparty目录中的所有文件夹的版本信息,将 freetype-2.4.4 jbig2dec jpeg-8c openjpeg-1.4 zlib-1.2.5 改成 freetype jbig2dec jpeg openjpeg zlib(因为jni目录下的core.mk文件中是没有版本信息的)

5.依次执行 thirdparty/freetype thirdparty/jepg thirdparty/openjpeg thirdparty/zlib 目录下的configure

6.找到thirdparty/jbig2dec/os_types.h,用文本编辑器打开,注释掉
    typedef unsigned char  uint8_t;
    typedef unsigned short uint16_t;
    typedef unsigned int   uint32_t;
    typedef signed char    int8_t;
    typedef signed short   int16_t;
    typedef signed int     int32_t;

7.用文本编辑器打开thirdparty/openjpeg/libopenjpeg/openjpeg.c将 #include "opj_config.h" 改为 #include "../opj_config.h"

8.用文本编辑器打开android/jni/Core.mk,添加 $(MY_ROOT)/fitz/crypt_sha2.c / (包含反斜线)

9.进入android目录用ndk-build命令,编译,如果没有错误,就会在android目录下生成libs目录,里面就包含了我们需要的库文件

这样就完成了Mupdf的编译,导入eclipse,并将PDF文件放到程序中指定的模拟器路径下,它自带的Demo程序就可以将其打开

posted on 2011-07-11 23:38  三金兄的自留地儿  阅读(2477)  评论(0编辑  收藏  举报