Ошибка сегментации при импорте библиотеки C ++ в Python3 с Boost.Python - PullRequest
0 голосов
/ 01 июля 2019

Я пытаюсь сделать пример Hello World на документах Boost.Python без использования bjam.Я вручную компилирую объектный файл и файл .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

Я получил код и команды от этого ТАКОГО вопроса.Я что-то упустил?

...