构建MuPdf并注册文档处理程序

时间:2015-02-01 11:35:28

标签: c++ mupdf

Here我们有一个问题,一个答案和一些快乐的人。

但我有不同的情况, 我是用C ++编写的,我自己也要编译MuPdf。 因此,当我在fz_register_document_handlers之前添加fz_open_document_with_stream函数时,我将为这些

获取5个未解析的外部符号
_opj_image_destroy (2 times)
_opj_copy_image_header
_opj_image_comp_header
_opj_image_create

我可以通过链接openjpeg\libopenjpeg\image.c删除其中的3个,但_opj_image_destroy是我的编译错误列表中的库存!

[UPDATE]

Mupdf版本:1.6
我不知道它是否正确但我创建了一个名为Native的视觉工作室项目,并将Mupdf源文件放入其中并尝试编译。
然后我在其他c ++项目中使用它的标题(并使用声明" C"在其中)并将Native链接到它。
它工作正常,直到我尝试打开文件作为流而不是文件地址 因此,我的项目因此错误而失败:"没有注册文档处理程序"
此错误是由document.c文件引起的。

我搜索并找到上面链接的页面并更改了源 更改后出现编译错误!

感谢您的帮助,对不起我的英语......

1 个答案:

答案 0 :(得分:0)

首先,您还没有说过您正在使用的MuPDF版本。我将假设您使用的是git的最新版本(目前截至2015年2月1日为1.6)。

其次,您没有告诉我们您如何构建MuPDF。如果不确切知道你改变了什么,很难推测你做错了什么。

如果您正在使用c ++编译器编译vanilla .c文件,那么您可能需要使用extern" C"声明。

欢迎联系#ghostscript irc频道并告诉我们更多信息。

[更新]

听起来像你错过了openjpeg解码器。你不能只是从openjpeg源添加一个文件,并期望它神奇地工作。

为什么我们为您提供一个自己的Visual Studio项目?平台/的Win32 / mupdf.sln