我尝试不使用bjam在Boost.Python文档上做一个Hello World示例。我正在手动编译目标文件和.so文件。源代码如下:
hello.cpp:
#include <boost/python.hpp>
char const* greet() { return "Hello, world!"; }
BOOST_PYTHON_MODULE(hello_ext) {
using namespace boost::python;
def("greet", greet);
}
要创建目标文件:
g++ -I/usr/local/include -I/usr/include/python3.6m -fPIC -c -o hello.o hello.cpp
然后创建模块文件:
g++ -shared -Wl,-soname,"libhello.so" -L/usr/local/lib hello.o -lboost_python -fPIC -o libhello.so
尝试导入Python3:
>>> import libhello
[1] 2481 segmentation fault (core dumped) python3
我从this问题中得到了代码和命令。我想念什么吗?