Boost Python Numpy-未定义的引用进行初始化

时间:2018-09-19 21:19:25

标签: python c++ python-3.x numpy boost

链接以下代码时遇到问题:

#include <boost/python.hpp>
#include <boost/python/numpy.hpp>

BOOST_PYTHON_MODULE (MyLibrary)
{

    Py_Initialize() ;
    boost::python::numpy::initialize() ;

    ...

}

返回:

undefined reference to `boost::python::numpy::initialize(bool)'

我正在将Boost 1.68与Python 3.6配合使用,编译如下:

./bootstrap.sh --with-python=/usr/bin/python3 --with-python-version=3.6 --with-python-root=/usr/lib/python3.6
./b2 --with-python link=shared install

我正在使用链接:

/usr/bin/c++ -shared
-o MyLibrary.so
MyLibrary.cpp.o
-L/usr/local/lib
-lpython3.6m
/usr/local/lib/libboost_python36.so

有什么主意吗??

1 个答案:

答案 0 :(得分:1)

解决方案是先安装python3-numpy软件包, 否则libboost_numpy.so不会生成。

故事的结尾!