2

/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*)'

どうしたの?

4

1 に答える 1

1

extern "C"これは 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
于 2011-09-14T10:42:59.640 に答える