libboost中未定义的符号

时间:2015-03-18 18:07:17

标签: c++ gcc boost

我看到以下错误

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 个答案:

答案 0 :(得分:2)

PyUnicode_AsUTF8String函数是python运行时的一部分。您应该通过向GCC提供适当的链接器选项将您的扩展链接到python库。请注意,python 3和python 2之间存在差异。