MuPDF怎么在windows环境下编译

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MuPDF怎么在windows环境下编译相关的知识,希望对你有一定的参考价值。

  git submodule update --init代码获取完成以后,需要在源代码目录生成一个generated目录,里面有一些.h文件,这一步非常关键,也是我在编译过程中遇到的最大的障碍根据官方网站的说明,需要用 make generate 命令来生成这个目录,这就需要安装cygwin 编译环境.可直接网上下载安装,需要特别注意的是在安装cygwin时必需选择gcc和make相关的部分,否则无法执行 make命令,对新手来说,这一步非常重要,我就是在这里卡了很长时间,make总是不成功,提示说找不到命令,因为以前没有相关经验,所以卡了很长时间。gcc安装也是非常重要,把 gcc 编译c代码和c++ 代码的部分也都选上,否则即使有了make,也不能make成功。


  执行make命令(执行make前,需要将cygwin路径加入到环境变量):

  make generate

  make成功以后,在源代码目录下面会生成generated 文件夹,内容如下图:

  


  这一步成功完成后,编译就成功了一半。下面进行NDK编译,我用的NDK版本是R8B ,需要说明的是,经过我的摸索,并不是所有的版本的NDK都能编译通过,如果使用最新的NDKR8D的话会有非常多的警告。在源代码目录下找到local.properties.sample,改名为local.properties 做如下修改:


  sdk.dir=C:\\\\Documents and Settings\\\\Administrator\\\\android-sdks\\\\platforms\\\\android-10

  ndk.dir=C:\\\\android-ndk-r8b

  分别是android sdk 路径和ndk 路径。这时,先不要执行NDK编译命令 ,在源代码目录的JNI文件夹下找到Application.mk文件,找到下面两行:

  # If the ndk is r8b then workaround bug by uncommenting the following line

  #NDK_TOOLCHAIN_VERSION=4.4.3


  意思是说如果使用ndk r8b编译需要取消注释NDK_TOOLCHAIN_VERSION=4.4.3 这一行,OK,照办,取消注释。这一步非常重要,我就是实现没仔细看这行,导致最后编译不通过。原因是不同版本的GCC,对命令的解释有差异,导致错误,这里就不深究了。下面正式开始NDK编译:

  


  编译成功后,生成lib文件夹:

  整个编译工作大功告成。

参考技术A 你可以去查查

如何在 Windows 下编译 OpenSSL

1、安装ActivePerl//初始化的时候,需要用到perl解释器
2、使用VS2010下的Visual Studio 2010 Command Prompt进入控制台模式(这个模式会自动设置各种环境变量)
3、解压缩openssl的包,进入openssl的目录
4、perl configure VC-WIN32
尽量在这个目录下执行该命令,否则找不到Configure文件,或者指定完整的Configure文件路径。
5、ms\\do_ms.bat
在解压目录下执行ms\\do_ms.bat命令
6、nmake -f ms\\ntdll.mak
7、nmake -f ms\\nt.mak

编译后
在openssl解压目录下执行,完成编译后。输出的文件在out32dll (6), out32 (7)里面,包括应用程序的可执行文件、lib文件和dll文件

注意:在运行第五步时,cl编译器会抱怨说.\\crypto\\des\\enc_read.c文件的read是The POSIX name for this item is deprecated(不被推荐的),建议使用_read。呵呵,我可不想将OpenSSL中的所有的read函数修改为_read。再看cl的错误代码error C2220,于是上MSDN上查找:
warning treated as error - no object file generated
/WX tells the compiler to treat all warnings as errors. Since an error occurred, no object or executable file was generated.
是由于设置了/WX选项,将所有的警告都作为错误对待,所以。。。

于是打开OpenSSL目录下的MS目录下的ntdll.mak文件,将CFLAG的/WX选项去掉,存盘。。。
继续执行nmake -f ms\\ntdll.mak
参考技术A 一个开源的第三方库,它实现了SSL(Secure SocketLayer)和TLS(Transport Layer Security)协议,被广泛企业应用所采用.对于一般的开发人员而言,在http://slproweb.com/products/Win32OpenSSL.html 上下载已经编译好的OpenSSL库是省力省事的好办法.对于高级的开发用户,他们可能需要适当的修改或者裁剪OpenSSL,那么编译它就成为了一个关键问题.本篇博客就是主要讲述如何早Windows上编译OpenSSL库

笔者按照一定的步骤成功了编译了OpenSSL库,步骤如下

在微软网站下载并安装VS Studio,笔者写博客之时的最新版本是2013,连接如下

从http://www.activestate.com/activeperl/downloads 下载并安装

从http://www.nasm.us/ 下载并安装Nasm汇编器

从http://www.openssl.org/下载并安装OpenSSL的最新Release包.笔者写博客之时,最新的OpenSSL包是

这里需要强调的是,读者未必需要完全按照笔者的步骤编译OpenSSL库,这里的部分次序是可以互换的

在完成所有上述5步后,我们就可以解压缩OpenSSL包,在对它进行修改便可以编译了.在解压缩后,所有的源代码放在openssl- 1.0.1e目录下,在此目录下,有两个文件INSTALL.W32, INSTALL.W64需要被关注.打开其中的任何一个文件,你会看到如何编译OpenSSL的各个步骤.这里,笔者将会再啰嗦一下

打开VS Studio命令行工具,如图1所示.若编译64位OpenSSL库,请打开Visual Studio x64 Win64 Command Prompt,反之亦然

以上是关于MuPDF怎么在windows环境下编译的主要内容,如果未能解决你的问题,请参考以下文章

如何在windows的命令行环境下编译C++程序?

如何在 Windows 下编译 OpenSSL

如何在Windows下编译OpenSSL

如何在 Windows 下编译 OpenSSL

如何在windows的命令行环境下编译C++程序?

如何在 Windows 下编译 OpenSSL