Android:ubuntu下编译MuPDF源码

前言

使用MuPDF也有一段时间了,虽然不是太熟练,但是也能解决一般的问题了。从一开始不能把项目建起来,无法加载so文件,到现在基本都可以解决问题。然后一直的遗憾就是没有自己去编译源码得到so文件,一直都是用别人的so文件,而且还不全,只有armeabi-v7a,缺少armeabi、x86等so文件。所以就下定决心去自己编译源码。这么说总让人认为编译源码很难一样,其实很简单,只是自己一开始就畏惧了罢了。

编译准备

我一直使用的系统都是ubuntu,所以编译也是基于ubuntu的。
首先需要做的就是要配置NDK,NDK的配置并不是很复杂,下载NDK然后放到一个目录,最后配置一下环境就可以了,这些都可以网上搜,所以就不多说了,放一个参考链接吧。

配置完之后在终端测试一下,如图

如果有这样的效果,说明就没有问题了。

下载源码的方式还是比较多的,这里提供两种:

  • git clone --recursive git://git.ghostscript.com/mupdf.git
### 配置和执行 MuPDF 的交叉编译 为了在海思平台上成功完成MuPDF的交叉编译工作,需遵循一系列特定设置过程。首先,在Ubuntu环境中安装适用于目标架构(如ARM)的海思专用交叉编译工具链[^1]。 #### 设置环境变量 确保已正确设置了必要的环境变量以便调用正确的编译器和其他构建工具。这通常涉及编辑`~/.bashrc`或`/etc/profile`文件来添加如下路径: ```shell export PATH=/path/to/toolchain/bin:$PATH export CROSS_COMPILE=arm-himix200-linux-aarch64- ``` 上述命令假设使用的具体版本为`arm-himix200-linuxaarch64-himix100-linux`,实际操作时应依据实际情况调整路径与前缀。 #### 获取并准备源码 从官方仓库获取最新版MuPDF源代码,并解压至合适位置。对于依赖项如zlib等第三方库,则参照相似流程先行编译安装这些组件[^3]。 #### 编辑 Makefile 或 CMakeLists.txt 文件 针对MuPDF项目本身,可能需要修改其构建脚本以适应新的编译环境。如果采用的是基于GNU Make的方式,则重点在于更新Makefile内的CC、AR等相关字段;而对于CMake则要创建或调整`toolchain.cmake`文件指定交叉编译选项: ```cmake set(CMAKE_SYSTEM_NAME Linux) set(CMAKE_C_COMPILER ${CROSS_COMPILE}gcc) set(CMAKE_CXX_COMPILER ${CROSS_COMPILE}g++) ... ``` #### 执行编译指令 最后一步是在终端内切换到MuPDF根目录并通过以下方式启动编译进程: ```shell make clean && make -j$(nproc) ``` 或者如果是通过CMake管理的话则是先运行一次配置再做编译: ```shell mkdir build && cd build cmake .. -DCMAKE_TOOLCHAIN_FILE=../toolchain.cmake make -j$(nproc) ``` 以上步骤完成后应该能够在海思硬件上顺利部署由主机端生成的目标二进制文件[^4]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值