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

Luc*_*cas 2 c++ python boost numpy python-3.x

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

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

BOOST_PYTHON_MODULE (MyLibrary)
{

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

    ...

}
Run Code Online (Sandbox Code Playgroud)

返回:

undefined reference to `boost::python::numpy::initialize(bool)'
Run Code Online (Sandbox Code Playgroud)

我使用的是 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
Run Code Online (Sandbox Code Playgroud)

我正在使用以下链接:

/usr/bin/c++ -shared
-o MyLibrary.so
MyLibrary.cpp.o
-L/usr/local/lib
-lpython3.6m
/usr/local/lib/libboost_python36.so
Run Code Online (Sandbox Code Playgroud)

任何想法...?

Luc*_*cas 5

python3-numpy解决办法是先安装包,否则libboost_numpy.so不会生成。

故事的结局!