pybind11 ImportError undefined symbol Boost файловая система - PullRequest
0 голосов
/ 06 мая 2020

Я пытался импортировать этот модуль « esim_py » в Python, который написан на C ++ с привязками Python с использованием pybind11. Он использует CMake для сборки проекта.

Запуск pip install . успешно создает файл общих объектов esim_py.cpython-37m-x86_64-linux-gnu.so. Пожалуйста, проверьте снимок экрана.

Но когда я импортирую модуль esim_py в Python, я получаю следующую ошибку:

ImportError: /home/siddhantsahu/anaconda3/envs/vid2e/lib/python3.7/site-packages/esim_py.cpython-37m-x86_64-linux-gnu.so: 
undefined symbol: _ZN5boost10filesystem6detail28directory_iterator_constructERNS0_18directory_iteratorERKNS0_4pathEPNS_6system10error_codeE

enter image description here


Я попытался разобрать неопределенный символ C ++ с помощью C ++ filter js, и оказалось, что он связан с файловой системой Boost.

boost::filesystem::detail::directory_iterator_construct(boost::filesystem::directory_iterator&boost::filesystem::path&boost::system::error_code*)

I Я все еще не могу импортировать модуль "esim_py" в Python. Пожалуйста, дайте мне знать, где я что-то упускаю и как это решить.

...