【问题标题】:PoDoFo setup with eclipse , Linker error, undefined reference to symbol 'pthread_mutexattr_settype@@GLIBC_2.2.5'使用 eclipse 设置 PoDoFo,链接器错误,未定义对符号 'pthread_mutexattr_settype@@GLIBC_2.2.5' 的引用
【发布时间】:2018-06-11 11:18:55
【问题描述】:

我正在尝试在 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

然后我为 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

谁能帮我解决这个错误,我应该添加什么配置来解决这个问题,也欢迎任何建议的阅读。

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

【问题讨论】:

  • 您要么需要使用-pthread 标志构建(包括用于链接),要么显式链接pthread 库。我敢肯定这里有多个重复项,即使是简单的搜索也应该出现。
  • @Someprogrammerdude 我之前也找到了这个答案,但我很难理解如何在 eclipse 中做到这一点(即在 eclipse 中设置项目属性)

标签: c++ linux eclipse linker podofo


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 2013-04-21
    • 2016-03-12
    • 2014-10-26
    • 1970-01-01
    • 1970-01-01
    • 2020-11-19
    • 2013-04-07
    • 2023-03-30
    相关资源
    最近更新 更多