繁体   English   中英

使用cmake项目将tbb库与qtcreator链接

[英]Link tbb library with qtcreator with a cmake project

我有一个cmake项目,我正在使用qtcreator 4.5在Ubuntu环境中进行开发。 现在,我尝试使用TBB库并行化我的代码,但是在编译时出现此错误:

/usr/include/tbb/parallel_for.h:87: error: undefined reference to `tbb::task_group_context::~task_group_context()'

据我了解,我没有链接我的TBB库,这是问题吗? 如果是,该怎么办?

编辑1:我通过命令sudo apt-get install libtbb-dev安装了TBB,所以我不确定它的安装位置,但是在/ usr / lib / x86_64-linux-gnu中有一个libtbb.so,是它?

编辑2:我创建了解决方案,我不必遍历cmake文件,因为我通过Qtcreator添加了库路径。 我在/ usr / include中创建了lib。 因此,如果您遇到相同的问题,则可以通过转至Qtcreator中的“项目”部分,在窗口中找到TBB并提供lib的路径来链接库。

我不知道您是否已在Ubuntu中安装了developmentlib:

sudo apt-get install libtbb-dev

下一步应该是将.pro文件中的链接链接到tbb库(-ltbb)

就我而言,我也正在“间接”使用tbb lib并在.pro文件中设置下一行以进行静态编译:

## OTHER LIBS
LIBS += -L/myopencvpath/share/OpenCV/3rdparty/lib
LIBS += -lIlmImf -lippicv -llibjasper -llibjpeg -llibpng -llibtiff -ltbb -lzlib

另外,该条目也可以为您提供帮助: 如何在Ubuntu 14.04中使线程化构建块工作

我希望这可以帮助你。

EDIT1:我距离成为cmake专家还很遥远,但是您可以尝试执行以下操作:

IF ( USE_TBB )
    MESSAGE( STATUS "Including TBB on MyLib build" )
    FIND_PACKAGE( tbb REQUIRED )
    LINK_DIRECTORIES( ${LIBRARYPATH} )
ENDIF ()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM