在Qt4项目中引用mupdf

发布于 2024-12-04 11:25:52 字数 594 浏览 2 评论 0原文

我在 /usr/local/lib (之前编译过)中有 libfitz.a 和 libmupdf.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*)'

怎么了?

I have libfitz.a and libmupdf.a in /usr/local/lib (previously compiled).
then I included the headers:

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

then I put:

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

in .pro file, but my program just reaches to types in the headers, not the library. The error is

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

What's wrong?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

云朵有点甜 2024-12-11 11:25:52

这是一个 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

This is a C library, and they didn't use extern "C" to allow the headers to be included easily in C++.
So you have to do it yourself:

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

According to mupdf MakeFile, you should put the libraries in that order in your .pro (the more dependent static library should be placed before its dependencies):

LIBS         += -L/usr/local/lib -lmupdf -lfitz
LIBS         += -lfreetype -ljbig2dec -ljpeg -lopenjpeg -lz -lm
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文