mupdf 生成dll

最近在做项目的时候需要用到mupdf 这个库,该库可以从官网下载。我这里下载的是mupdf-1.17.0-source.tar.gz。
我的系统环境是win11 64位。开发环境是vs2017+qt5.14.2。由于直接使用libmupdf.lib 会导致生成的64位Release程序增加40M,所以想使用dll,找了好多资料,感觉都不理想,所以自己想编译mupdf源文件生成dll。

在这里插入图片描述

直接编译的话会出现错误提示 “无法找到 v142 的生成工具”,在这里插入图片描述
把“平台工具集”,所有子项目中的V142(未安装) 改成Visual Studio2017(v141),32位,64位都改
在这里插入图片描述
在这里插入图片描述
选择“重定位解决目标”,然后编译程序。
这里我先选择了Release Win32编译,直接编译X64会报错,好像跟bin2coff这个有关在这里插入图片描述
32位编译成功之后,
在这里插入图片描述

再编译64位,也成功生成,这里我们可以看到已经生成了libmupdf.lib,这个libmupdf.lib可以直接应用与自己的项目中,但是生成的文件会多40M。
下面是生成dll的步骤:
在这里插入图片描述
在项目libmupdf中,添加libmupdf.def文件,编辑libmupdf.def文件
这里,我的项目就用到下面这些函数,所以只导出了这些。

LIBRARY libmupdf

EXPORTS
	fz_register_document_handlers
	fz_open_document
	fz_drop_document
	fz_drop_context
	fz_scale
	fz_pre_rotate
	fz_new_pixmap_from_page_number
	fz_pixmap_width
	fz_pixmap_height
	fz_count_pages
	fz_pixmap_samples
	fz_caught_message
	fz_push_try
	fz_do_try
	fz_do_catch
	fz_new_context_imp
	fz_device_rgb

在这里插入图片描述

修改libmupdf项目生成为"动态库(.dll)"
在这里插入图片描述
然后生成,可以看到目录下已经有了 libmupdf.dll
我们可以通过vs2017命令行工具 ,dumpbin 命令来查看导出是否成功
在这里插入图片描述

然后,我们就可以把 libmupdf.dll 应用到我们自己的项目中了。

相关生成的dll,lib,以及头文件我上传到了 https://download.csdn.net/download/ren062/86920213。

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值