编译mupdf的ios版
来源:互联网 发布:csol星陨巨锤连击编程 编辑:程序博客网 时间:2024/05/17 01:09
戴维营教育原创文章,转载请注明出处。我们的梦想是做最好的iOS开发培训!
MuPDF是一个强大的开源PDF框架,支持GPL和商业授权。下载地址: bash git clone --recursive git://git.ghostscript.com/mupdf.git
最简单的方法是在platform/ios目录中打开MuPDF项目,然后选择合适的架构就可以直接编译运行了(可能要设置SDK版本)。它会自动运行该目录下面的build_libs.sh脚本进行libmupdf.a等静态库,然后存放在刚才下载下来的mupdf目录中的build文件夹下。而头文件则存放在mupdf/include中。
diveinedu $ pwd/Users/diveinedu/opensource/mupdfdieveinedu $ tree -L 1.├── CHANGES├── CONTRIBUTORS├── COPYING├── Makefile├── Makerules├── Makethird├── README├── build├── docs├── generated├── include├── platform├── resources├── scripts├── source└── thirdparty
注意:
从2015年10月5日开始,mupdf使用的OpenGL库从GLUT切换到GLFW,而GLFW不支持iOS,因此编译中会出现找不到OpenGL/gl.h的错误。可以切换回之前的老版本:
查看日志:
$ git logcommit 83a00b0a38558e3e64f38d8a584808e323f4d706Author: Tor Andersson <tor.andersson@artifex.com>Date: Fri Aug 21 2015 21:22:21 GMT+0800 (CST) gl: Use GLFW instead of GLUT. Add OpenGL text rendering using textured quads, instead of using glut bitmap fonts.
切换版本
$ git reset 22cfd27 --hard$ git clean
附加信息
如果不想使用Xcode进行编译,可以直接在mupdf目录下运行xcodebuild命令。 bash xcodebuild -project platform/ios/MuPDF.xcodeproj -target MuPDF
如果希望将不同架构的二进制放置在同一个.a文件中,可以使用lipo进行合并。
$ mkdir product$ lipo debug-ios-x86_64/libcurl.a release-ios-armv7-arm64/libcurl.a -create -output product/libcurl.a$ lipo debug-ios-x86_64/libjpeg.a release-ios-armv7-arm64/libjpeg.a -create -output product/libjpeg.a$ lipo debug-ios-x86_64/libopenjpeg.a release-ios-armv7-arm64/libopenjpeg.a -create -output product/libopenjpeg.a$ lipo debug-ios-x86_64/libfreetype.a release-ios-armv7-arm64/libfreetype.a -create -output product/libfreetype.a$ lipo debug-ios-x86_64/libmujs.a release-ios-armv7-arm64/libmujs.a -create -output product/libmujs.a$ lipo debug-ios-x86_64/libz.a release-ios-armv7-arm64/libz.a -create -output product/libz.a$ lipo debug-ios-x86_64/libjbig2dec.a release-ios-armv7-arm64/libjbig2dec.a -create -output product/libjbig2dec.a$ lipo debug-ios-x86_64/libmupdf.a release-ios-armv7-arm64/libmupdf.a -create -output product/libmupdf.a
最后用lipo查看一下是否合并成功。
bash $ lipo -info mupdf/lib/libmupdf.a Architectures in the fat file: build/mupdf/lib/libmupdf.a are: armv7 x86_64 arm64
参考资料
增加bitcode支持
question-ios-library-to-bitcode
develop-an-ebook-reader-on-iphone-ipad-using-mupdf-library
戴维营学院(高级开发视频): http://v.diveinedu.com
潜心俱乐部(iOS面试必备): http://divein.club
- 编译mupdf的ios版
- MuPDF在iOS平台的编译
- ios最新mupdf官方demo(mupdf库文件编译)编译运行
- 在ubuntu上编译android的mupdf
- MuPdf编译so文件
- c++ mupdf编译
- 编译Mupdf源码
- 我的PDF阅读器之muPDF的编译
- mupdf ios端学习
- WindowsXP 环境下 MuPDF 1.2 的编译方法
- MuPDF在Ubuntu 12.04编译
- Window10下MuPDF源代码编译
- Android mupdf在Ubuntu下的编译教程(最详细的教程)
- android学习—— windows 下编译 mupdf 的android 源码
- Android使用MuPDF查看pdf文件之源码的下载与编译
- 使用Android NDK编译MuPDF 1.0
- MuPDF for Android编译过程小结
- MuPDF 开源PDF库编译过程记录
- 笔记十七(绘制图片)
- jasperreport开发手册--ireport教程
- U盘启动中标麒麟V6双系统安装教程
- 下拉菜单打开或关闭网络后网络状态的判断
- online_judge_1026
- 编译mupdf的ios版
- MeasureSpec笔记
- theano——Graph Structures
- charles使用教程
- SqlServer关闭与启用标识(自增长)列
- MyBatis中文使用文档
- python 关于yield, generator, iterable
- 从masonry中学到的c++and关键字
- 数据库主码、外码