Boost.Python - ImportError: динамический модуль не определяет функцию экспорта модуля (PyInit_example) - PullRequest
0 голосов
/ 02 апреля 2019

Я пытаюсь скомпилировать модуль https://github.com/Auctoris/boost_python_impex с помощью командной строки.

Следующая команда успешно создает и связывает файл .so модуля:

g++ -fPIC -I/usr/include/python3.6m library.cpp example.cpp -c
g++ -L /lib64 -shared example.o -o example.so -lpython3.6m -lboost_python3

Однако, когда я импортирую модуль из python3, я получаю следующее сообщение об ошибке:

  import example
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: dynamic module does not define module export function (PyInit_example)

Я не понимаю это сообщение об ошибке, так как файл library.cpp содержит строку:

BOOST_PYTHON_MODULE(example)

и я импортирую модуль из Python3 .

Что не так / отсутствует в моей команде компиляции?

Я использую Fedora 64bit.

Спасибо!

1 Ответ

0 голосов
/ 02 апреля 2019

Следующая команда компиляции работает на Fedora 29:

g++ -fPIC -I/usr/include/python3.6m library.cpp example.cpp -shared -o example.so -lboost_python3
...