我正在尝试在 linux(debian 64 位)中使用 pdfium 库。我设法(最终)编译了 pdfium 的 _x64 版本,并且测试程序似乎可以工作。但是,我似乎无法在单独的项目中使用这些库。这是我的文件:
#include <iostream>
#include "fpdfview.h"
#include "fpdftext.h"
#include "fpdfdoc.h"
#include "fpdfedit.h"
main(){
FPDF_InitLibrary();
std::cout << "Hello World!"<<std::endl;
return 0;
}
这是我的 Makefile:
CC = g++
CFLAGS = -Wall -g -Wno-unused-variable -Wno-reorder -I/usr/include/pdfium/core/include -I/usr/include/pdfium/fpdfsdk/include -I/usr/include/pdfium/third_party -I/usr/include/pdfium/v8/include
LIBS_pdfium = -static -L/usr/lib/pdfium
LDFLAGS = $(LIBS_pdfium)
Main : Main.o
${CC} ${CFLAGS} Main.o ${LDFLAGS} -o Main
Main.o : Main.cpp
${CC} ${CFLAGS} -c -std=c++11 Main.cpp
clean:
rm *o Main
当我运行makefile时,结果是:
g++ -Wall -g -Wno-unused-variable -Wno-reorder -I/usr/include/pdfium/core/include -I/usr/include/pdfium/fpdfsdk/include -I/usr/include/pdfium/third_party -I/usr/include/pdfium/v8/include Main.o -static -L/usr/lib/pdfium -o Main
Main.cpp:11: error: undefined reference to 'FPDF_InitLibrary'
collect2: error: ld returned 1 exit status
我也尝试使用 /home/username/pdfium/out/Release_x64/obj 中的库,但遇到了同样的错误
我知道错误:undefined reference to FPDF_InitLibrary
表示存在链接错误。因此,我使用 objdump 检查了 /home/username/pdfium/out/Release_x64/obj 中的库,其中一个包含 InitLibrary 符号。这似乎没有意义...
我不知道我是否指的是包含或库中的错误路径,或者是否是其他错误。
我试图理解 chromiums pdf 插件项目 makefile,因为我认为这可能有助于我理解我应该使用什么,但不幸的是它没有帮助。
关于我做错了什么的任何想法?