libboost 中未定义的符号
Posted
技术标签:
【中文标题】libboost 中未定义的符号【英文标题】:Undefined symbol in libboost 【发布时间】:2015-03-18 18:07:17 【问题描述】:我看到以下错误
ImportError: /usr/local/lib/libboost_python.so.1.57.0:
undefined symbol: PyUnicode_AsUTF8String
在 .so 文件中,我看到以下符号未定义
@Ubuntu-1204-precise-64-minimal:/usr/local/lib$ nm libboost_python.so.1.57.0
| grep PyUnicode_AsUTF8String
U PyUnicode_AsUTF8String
这个符号未定义的原因是什么?
我还检查了 ldd,所有库都在标准位置。
【问题讨论】:
【参考方案1】:PyUnicode_AsUTF8String
函数是 python 运行时的一部分。您也应该通过向 GCC 提供适当的链接器选项,将您的扩展链接到 python 库。请注意,python 3 和 python 2 之间存在差异。
【讨论】:
以上是关于libboost 中未定义的符号的主要内容,如果未能解决你的问题,请参考以下文章
由于 iOS 中未捕获的异常,架构 i386 和终止应用程序的未定义符号
为设备编译 Boost 1.54 XCode5 - 致命错误:后端错误:符号“___umodsi3”不能在减法表达式中未定义