在Qt4项目中引用mupdf

referencing mupdf in Qt4 project

本文关键字:引用 mupdf 项目 Qt4      更新时间:2023-10-16

我有libfitz。A和libupdf。/usr/local/lib中的A(以前编译过)。然后我加入了标题:

#include <fitz.h>
#include <mupdf.h>

然后我放:

INCLUDEPATH  +=/home/pc/sviluppo/mupdf-0.9
INCLUDEPATH  +=/home/pc/sviluppo/mupdf-0.9/fitz
INCLUDEPATH  +=/home/pc/sviluppo/mupdf-0.9/pdf
LIBS         += -L/usr/local/lib -lfitz
LIBS         += -L/usr/local/lib -lmupdf

在.pro文件中,但是我的程序只到达头文件中的类型,而不是库。错误是

/.../mainwindow.cpp:-1: error: undefined reference to `pdf_open_xref(pdf_xref_s**, char const*, char*)'

怎么了?

这是一个C库,他们没有使用extern "C"来允许在c++中轻松包含头文件。
所以你必须自己做:

extern "C" {
    #include <fitz.h>
    #include <mupdf.h>
}

根据mupdf MakeFile,你应该把库按这个顺序放在你的.pro中(更依赖的静态库应该放在它的依赖项之前):

LIBS         += -L/usr/local/lib -lmupdf -lfitz
LIBS         += -lfreetype -ljbig2dec -ljpeg -lopenjpeg -lz -lm