使用eclipse设置PoDoFo,链接器错误,未定义引用符号'pthread_mutexattr_settype @@ GLIBC_2.2.5'

时间:2018-01-01 11:35:52

标签: c++ linux eclipse linker podofo

我正在尝试在Eclipse中为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 文件

在Eclipse中 在C ++链接器下,我将库搜索路径(-L)添加为/ usr / local / lib 在图书馆(-l)我添加了podofo Screenshot for G++ linker in eclipse

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

全力以赴 建立目标:opencvtest 调用:GCC C ++链接器 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:添加符号时出错:命令行中缺少DSO makefile: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

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

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

1 个答案:

答案 0 :(得分:0)

这就是我要求的确切内容。 在eclipse中转到Project-> c / c ++ build-> GCC C ++链接器 - >库

在Libraries(-l)部分下添加你的库,就像你的libpthread.so.0所以你要添加pthread Screenshot

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