How to compile mupdf-qt

Compile on Linux

Install tools and thirdparty libraries

You should install some tools and thirdparty libraries. For Ubuntu users, you can use the following command(similar for other Linux users):

sudo apt-get install build-essential pkg-config cmake qtbase5-dev qt5-default libfreetype6-dev
Clone source code
git clone https://github.com/xiangxw/mupdf-qt.git //克隆该版本到本地
cd mupdf-qt   //进入该目录
git submodule update --init --recursive  //把mupdf和一些第三方库都给克隆下来 方便编译
Compile MuPDF Source
cd mupdf //首先进入该目录
make        //进行make
Compile mupdf-qt
cd ..
mkdir build
cd build
cmake .. //该步骤在mac下面可能会出现错误记得要设置cmake的CMAKE_PREFIX_PATH环境变量
//例如export CMAKE_PREFIX_PATH=/Users/username/Qt-SDK-ALL/Qt5.5/5.5/clang_64/
make 

Compile on Window with Visual Studio

Clone source code
git clone https://github.com/xiangxw/mupdf-qt.git
cd mupdf-qt
git submodule update --init --recursive
Compile MuPDF Source

Go to platforms/win32, open mupdf.sln and build.

Qt5

Install Qt5 and add path of qmake.exe to PATH

Compile mupdf-qt

Launch CMake(gui version), set source code directory and build directory. Configure and generate mupdf-qt.sln. Open mupdf-qt.sln and build it.

Compile on Window with MSYS MinGW

Clone source code
git clone https://github.com/xiangxw/mupdf-qt.git
cd mupdf-qt
git submodule update --init --recursive
Installing MSYS/MinGW

Install MSYS and MinGW (http://www.mingw.org/wiki/Getting_Started). Using the Graphical User Interface Installer, mingw-get-setup.exe, is recommended. During installation, “checking/ticking” the following in “Basic Setup” is recommended:

  1. mingw32-base
  2. mingw32-gcc-g++
  3. msys-base
  4. mingw-developer-toolkit

Add C:\MinGW\bin; to your PATH system variables (at the beginning).

Compile MuPDF source
cd mupdf-qt
make build=debug NOX11=yes

For release, just change “debug” to "release". NOX11 is necessary since X11 headers are not available in Windows. Note that this will not build the “app” packaged with the MuPDF source.

Compile mupdf-qt

Install CMake.

Open CMakeLists.txt with Qt Creator(Qt5 built with mingw), run cmake and build mupdf-qt

在windows编译mingw版本 需要特别注意

  • 必须按照文档的步骤进行git clone and update子项目
  • 需要保证mingw版本
  • 使用msys和mingw编译 可以下载Msys和MinGW
  • 设置MinGW的环境变量
  • 使用mingw安装包下面的msys目录下面的xx.bat启动命令行
  • 先编译mupdf源码
  • 安装CMAKE工具
  • 使用qtcreator打开mupdf-qt目录下面的cmakelists文件
  • 执行cmake
  • 在qtcreator下执行build

使用Mupdf-qt出错的话 可以参考 如下

INCLUDEPATH  += /home/bertero/mupdf-qt/include/
LIBS         += -L/home/bertero/mupdf-qt/build/lib -lmupdf-qt
LIBS         += -L/home/bertero/mupdf-qt/mupdf/build/debug/ -lmupdf  -ljpeg -lfreetype -lz -ljbig2dec -lcrypto -ldl -lmujs -lopenjpeg

http://www.heilqt.com/topic/56f25db1e498871267b374d4

Mac平台编译mupdf-qt的开源项目的更多相关文章

  1. SNF快速开发平台MVC-集成了百度开源项目echars

    百度开源项目echars图表样式非常丰富,而且开源免费.非常好.所以在我们框架当中也进行了集成echars完成图表任务. 我们进行了两次封装,利于我们开发使用.我也看到过有些架构师 按echars里的 ...

  2. 【转】GitHub平台最火的iOS开源项目——2013-08-25 17

    http://www.cnblogs.com/lhming/category/391396.html 今天,我们将介绍20个在GitHub上非常受开发者欢迎的iOS开源项目,你准备好了吗? 1. AF ...

  3. 在ubuntu16.04-32bits 下编译vlc和vlc-qt开源项目

      软件版本:  Ubuntu14.04 32位        Qt5.4.0  32位 开源项目: vlc2.2.4: wget http://download.videolan.org/pub/v ...

  4. Mac中编译安装Qt 4.4

    解压下载到的.gz源码:gunzip xxx.tar.gztar xvf xxx.tar, 其实在Mac中可以直接双击解压的.然后定位到解压后的目录下:./configuremakesudo make ...

  5. Mac平台Clion配置GLFW+GLAD的项目

    前期的准备工作详见LearnOpenGL CN 看这篇教程的前提是假设你已经编译好了GLFW文件夹以及下载好了GLAD,不会的话可以看我的另一篇 文章的前部分: 配置 Clion新建一个项目,CMak ...

  6. 我发起了一个 .Net Core 平台上的 分布式缓存 开源项目 ShareMemory 用于 取代 Redis

    Redis 的 安装 是 复杂 的, 使用 是 复杂 的, Redis 的 功能 是 重型 的, Redis 本身的 技术实现 是 复杂 的 . Redis 是用 C 写的, C 语言 编写的代码需要 ...

  7. Mac平台最好用的万能开源免费播放器-IINA

    1.安装 1)官网下载地址 https://iina.io/ 2)brew 方式安装 testdeMacBook-Pro:~ test$ brew cask install iina Updating ...

  8. SNF快速开发平台MVC-富文本控件集成了百度开源项目editor

    一.效果如下: 二.在框架当中调用代码如下: 1.在js里配置如下: <script type="text/javascript"> var viewModel =fu ...

  9. 关于Linux开源项目基础组件make编译流程

     关于Linux开源项目基础组件make编译流程 非常多Linux开源项目都会用到编译出可运行文件的make.这个是有一套流程的. 首先,GNU构建系统:https://en.wikipedia. ...

随机推荐

  1. HDFS 2中Namenode启动时WebUI的变化

      在HDFS1中NameNode启动顺序是这样的: 1. 读取Fsimage文件 2. 读取edit logs文件,逐行执行里面的操作 3. 写checkpoint,生成新的Fsimage(老的Fs ...

  2. java类的结构(属性、方法、构造函数)

    一.类的定义形式类定义的一般形式如下 [类定义修饰符] class  <类名> {   //类体 [成员变量声明] [构造函数] [成员方法] } 前面说过,在描述java语法时,方括号中 ...

  3. 龟兔赛跑(DP)

    龟兔赛跑 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submis ...

  4. 如何解决Android 5.0中出现的警告:Service Intent must be explicit

    有些时候我们使用Service的时需要采用隐私启动的方式,但是Android 5.0一出来后,其中有个特性就是Service Intent  must be explitict,也就是说从Lollip ...

  5. Js闭包与循环

    目标:点击任何一个li,提示当前点击位置 <ul> <li>第1个</li> <li>第2个</li> <li>第3个</ ...

  6. spark学习

    大数据学习纲要,主要针对spark的相关知识的学习,后续会涉及其他大数据相关框架及语言. 1 spark入门: 2.spark 实战部分 3.spark源码解析

  7. c++ 深浅拷贝

    对于普通类型的对象来说,它们之间的复制是很简单的,例如:int a=88;int b=a;而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量.下面看一个类对象拷贝的简单例子. #in ...

  8. bzoj 1295: [SCOI2009]最长距离

    题目链接 1295: [SCOI2009]最长距离 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 1165  Solved: 619[Submit][ ...

  9. [LeetCode]题解(python):073-Set Matrix Zeroes

    题目来源: https://leetcode.com/problems/set-matrix-zeroes/ 题意分析: 输入一个m×n矩阵,如果出现有0,那么将对应的行和列都变成0. 题目思路: 简 ...

  10. android开发环境安装记录

    首先进入http://developer.android.com/sdk/index.html, Google提供了一个新的DeveloperTools,即:ADT Bundle,中文翻译之:ADT捆 ...