-1

我正在尝试在 Eclipse OS 中为 C++ 设置 PoDoFo - Ubuntu 16.04 LTS
Podofo 链接 - http://podofo.sourceforge.net/download.html

我下载了最新版本并执行了以下步骤

  mkdir podofo-build
  cd podofo-build
  cmake ../podofo
  make
  su
  make install

到目前为止一切正常。这会在我的 /usr/local/lib 目录中创建一个libpodofo.a文件

在 C++ 链接器下的 Eclipse 中,我将库搜索路径(-L)添加为 /usr/local/lib 并在库(-l)中添加了 podofo eclipse 中 G++ 链接器的屏幕截图

然后我为 podofo Link 运行了一个 Hello world 示例:http: //podofo.sourceforge.net/examplehelloworld_cpp.html

make all 构建目标:opencvtest 调用:GCC C++ Linker g++ -L/usr/local/lib -L/lib/x86_64-linux-gnu -o"opencvtest" ./src/opencvtest.o ./src/podofo_test.o - lopencv_imgcodecs -lpodofo -lopencv_core -lopencv_imgproc -lopencv_highgui -lopencv_ml -lopencv_video -lopencv_features2d -lopencv_calib3d -lopencv_objdetect -lopencv_flann /usr/bin/ld: /usr/local/lib/libpodofo.a(PdfEncodingFactory.cpp.o):未定义的符号引用'pthread_mutexattr_settype@@GLIBC_2.2.5' //lib/x86_64-linux-gnu/libpthread.so.0:添加符号时出错:命令行makefile中缺少DSO:45:目标'opencvtest'的配方失败collect2:错误:ld返回1 退出状态 make: *** [opencvtest] 错误 1

ldconfig -p 给了我以下信息: ldconfig -p | grep pthread.so grep:警告:不推荐使用 GREP_OPTIONS;请使用别名或脚本 libpthread.so.0 (libc6,x86-64, OS ABI: Linux 2.6.32) => /lib/x86_64-linux-gnu/libpthread.so.0 libgpgme-pthread.so.11 ( libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libgpgme-pthread.so.11

有人可以帮我摆脱这个错误吗,我应该添加什么配置来解决这个问题,也欢迎任何建议的阅读。

如果需要任何其他信息,请告诉我。提前致谢。

4

1 回答 1

0

这正是我要问的。在 Eclipse 中转到 Project->c/c++ build-> GCC C++ linker -> Libraries

在 Libraries (-l) 部分下添加您的库,在我的情况下它是 libpthread.so.0 所以您将添加 pthread Screenshot

对于任何有 PoDoFo 问题的人(即只生成 libpodofo.a 文件)添加以下库: podofo pthread jpeg z fontconfig freetype

于 2018-01-01T13:28:23.067 回答