Сборки проекта Boost-Python C ++, Как использовать новую библиотеку из Python?

У меня есть проект VS12, и некоторые классы были представлены Python с использованием boost-python. После некоторых проблем со связыванием мой проект наконец-то правильно собирается и генерирует MySDK.lib а также MySDK.dll, Я назвал модуль Boost Python так же, как и библиотеку, т.е. BOOST_PYTHON_MODULE(MySDK), Эти .lib а также .dll все что мне нужно использовать MySDK из питона?

Я использую Pycharm Community, но не могу найти способ импортировать сгенерированные MySDK.lib а также MySDK.dll как модуль библиотеки Python.

К сожалению, не так много информации о том, что делать после упражнения в Boost Python.

0

Решение

Я изменил расширение моего выходного файла проекта VS12 на .pyd (Right Click on Project -> Properties -> Linker -> General -> Output File -> changed to $(OutDir)$(TargetName).pyd) и теперь я могу загрузить библиотеку в Python из командной строки, но все еще не могу из Pycharm.

После этого сделал каталог, в котором .pyd (вместе с .lib а также .dll) находится под Path переменная. Затем Pycharm может успешно загрузить и запустить мою собственную библиотеку boost-python.

ОБНОВИТЬ Pyd, который Python понимает и может загрузить, это просто dll переименован в pyd, Таким образом, еще более чистый способ — выйти из проекта VS12, так как он генерирует $(OutDir)$(TargetName)$(TargetExt) то есть dll вывод и просто добавить Post-Build Event что копирует dll в pyd:

(Right Click on Project -> Properties -> Configuration Properties -> Build Events -> Post-Build Event -> Command Line) и добавить copy $(OutDir)$(TargetName)$(TargetExt) $(OutDir)$(TargetName).pyd

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]