加载共享库时未定义的符号"tbb internal Allocate"
Undefined symbol "tbb internal Allocate" when loading shared library
一些使用我的共享库的人在加载它时遇到问题。我已经告诉他们安装"gcc-libs",如这里所述。
我还告诉他们自己编译共享库,但没有运气。
这个问题还有其他解决方案吗?
这是程序的日志文件,它试图在 CentOS6 上加载插件:
[23:16:57] Failed (plugins/RouteConnectorPlugin.so: undefined symbol: _ZN3tbb8internal12NFS_AllocateEjjPv)
[23:16:57] Loading plugin failed: RouteConnectorPlugin.so
该程序是开源的,位于此处,它是用 C 和 C++ 混合编写的(该程序仅针对 x86 编译)。
如果您的共享库依赖于另一个共享库,则应链接到它。然后,当您的库链接到其他某个可执行/共享库时,该依赖项将自动加载,用户无需显式链接到该依赖项。
未定义的符号是
$ c++filt _ZN3tbb8internal12NFS_AllocateEjjPv
tbb::internal::NFS_Allocate(unsigned int, unsigned int, void*)
这可能来自您提到的英特尔-TBB 库。由于这是代码的依赖项,因此用户希望您通过将依赖项链接到库中来正确声明该依赖项。
例如,请参阅有关如何使用 GCC 执行此操作的答案。
相关文章:
- 英特尔 TBB 程序不会终止,可能会误用参考计数器
- tbb::p arallel_for_each 在取消时未执行
- 如何完全关闭 TBB 代码中的线程
- Tbb 库:错误:编写自定义类函数而不是 lambda 表达式时,对函数的调用不匹配
- 注册 TBB 的环境变量
- 如何将 tbb concurrent_hash_map转换为常规标准::地图?
- tbb:current_unordered_map()-向量中每个唯一元素的ID
- Atom gpp编译器给出"'C:UsersadminUser' is not recognized as an internal or..."错误
- 谷歌测试编译错误 Os X:函数式转换从"int"到"internal::FloatingEq2Matcher"的模糊转换<float>
- 如何解决g++问题"internal compiler error: Illegal instruction min() _GLIBCXX_USE_NOEXCEPT { return __FLT_MI
- tbb::enumerable_thread_specific在其他线程库中工作吗
- TBB spin_mutex parallel_for内部以阻止关键部分
- 如何使用 TBB 在单个线程中运行函数
- 如何从TBB concurrent_hash_map C++迭代和擦除
- 通过引用将函数传递给 TBB 任务时无法返回值
- 手动管理和更新英特尔 TBB 流程图?
- 英特尔 TBB 计算图:如何指定节点的输入队列容量
- TBB 编译器错误 -"my_task":必须初始化引用
- 在调试模式下使用英特尔 TBB
- 加载共享库时未定义的符号"tbb internal Allocate"