У меня есть проект 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.
Я изменил расширение моего выходного файла проекта 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
Других решений пока нет …