繁体   English   中英

加载共享库时未定义的符号“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*)

这可能来自你提到的intel-tbb库。 因此,代码用户的依赖关系要求您通过将其链接到库中来正确声明该依赖关系。

请参阅此答案 ,了解如何使用GCC执行此操作。

暂无
暂无

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

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