将TBB库与QTCreator与CMAKE项目链接



我有一个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:我安装了tbb槽命令sudo apt-get install libtbb-dev,所以我不确定安装在何处,但是有一个libtbb.so in/usr/usr/lib/x86_64-linux-gnu,是吗?

编辑2:我建立了解决方案,我不必浏览th cmake文件,因为我正在通过qtcreator添加库路径。我在/usr/include中创建了lib。因此,如果您有相同的问题,则可以通过转到QTCreator中的项目部分链接您的库,在窗口中查找tbb并给出您的lib的路径。

我不知道您是否已在Ubuntu中安装了开发液体:

sudo apt-get install libtbb-dev

下一步应在.pro文件中针对TBB LIB(-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 ()

最新更新