在我的 Ubuntu 20 平台(使用 g++ 9.3.0)上的项目中,我使用以下行
#include <execution>
通过标准库函数支持并行处理。我没有包含来自英特尔并行执行库 TBB 的任何内容。但是当我构建程序时,我收到消息:
/usr/bin/ld: CMakeFiles/probis.dir/src/probis.cpp.o: in function `tbb::interface7::task_arena::current_thread_index()':
/usr/include/tbb/task_arena.h:449: undefined reference to `tbb::interface7::internal::task_arena_base::internal_current_slot()'
这很容易解决(例如:让消息消失),只需添加-ltbb
到链接器线。但后来我对 libtbb 产生了依赖,但我并没有指望它。
这种依赖性是预期的吗?是否可以在不安装的情况下使用并行执行tbb
(但是那个tbb
安装时覆盖默认设置)?
作为@[n。 '代词' m.] 正确地说,您可能需要 libtbb 才能使您的代码正常工作。您可以下载英特尔® oneAPI Base Toolkit,其中包含 TBB 作为组件之一。
英特尔® oneAPI 基础工具套件下载链接:https://software.intel.com/content/www/us/en/develop/tools/oneapi/base-toolkit/download.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)