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. Android Develop【转】

    [Android Develop]   Android实现伸缩弹力分布菜单效果 摘要: 本文介绍下在Android中实现伸缩弹力分布菜单效果.关于这种菜单效果在IPhone中比较常见,效果比较酷.那么 ...

  2. o怎么样racle输入dmp数据库文件

    Oracle进出口数据imp/exp等价物oracle数据恢复和备份. exp命令可以从远程数据库传输数据server出到本地的dmp文件,imp命令能够把dmp文件从本地导入到远处的数据库serve ...

  3. HDU1200:To and Fro

    Problem Description Mo and Larry have devised a way of encrypting messages. They first decide secret ...

  4. 一步一步学c#(五):泛型

    泛型 性能 泛型的一个重要的优点是性能.system.collections和system.collections.generic名称空间的泛型和非泛型集和类.对值类型使用非泛型集合类,在把值类型转换 ...

  5. HTTP有关知识

    Cookie 调用Cookie时,由于可校验Cookie的有效期,以及发送方的域,路径,协议等信息,所以正规发布的Cookie里面的内容不会因来自其他web站点和攻击者的攻击而泄露. Set-Cook ...

  6. JS中的replace方法

    JavaScript中replace() 方法如果直接用str.replace("-","!") 只会替换第一个匹配的字符. 而str.replace(/\-/ ...

  7. WTL error C3861: 'DDX_Control': identifier not found

    error C3861: 'DDX_Control': identifier not found 继承类加上     public CWinDataExchange<CMainDlg>, ...

  8. C++ STL中map存储方式——SAP电面(4)

    map存储方式  一般是平衡二叉树 红黑树

  9. 条款16:成对使用new和delete时,采取相同的形式

    问题聚焦:     我们都知道,new和delete要成对使用,但是有时候,事情往往不是按我们预期的那样发展.     对于单一对象和对象数组,我们要分开考虑.     遇到typedef时,也需要搞 ...

  10. php 图片等比缩放

    /** * @method 图片等比缩放 * @param string $srcImage 源图片路径 * @param string $toFile 目标图片路径 * @param integer ...