Boost Python C 项目构建了如何使用Python的新库

Boost-Python C++ project builds, How to use the new library from Python?

本文关键字:Python 何使用 新库 构建 项目 Boost      更新时间:2023-10-16

我有一个VS12项目,并使用Boost-Python将其中一些类暴露于Python。在某些链接问题之后,我的项目最终正确构建并生成MySDK.libMySDK.dll。我称Boost Python模块与库相同,即BOOST_PYTHON_MODULE(MySDK)。这些.lib.dll我需要从Python使用MySDK吗?

我正在使用Pycharm社区,但找不到将生成的MySDK.libMySDK.dll导入Python库模块的方法。

悲惨的是,在Boost Python编码练习之后该怎么做的信息没有太多信息。

我将我的VS12项目输出文件扩展名更改为 .pydRight Click on Project -> Properties -> Linker -> General -> Output File -> changed to $(OutDir)$(TargetName).pyd),现在我可以从命令行中加载python库,但仍然不能从pycharm中加载。

之后,将.pyd(与.lib.dll一起)的目录放在Path变量下。然后,Pycharm能够成功加载并运行我的自定义Boost Python库。

更新 Python理解和可以加载的PYD只是将dll重命名为pyd。因此,一种更干净的方法是将VS12项目与生成原始$(OutDir)$(TargetName)$(TargetExt)一样,即dll输出,并只需添加将dll复制到pyd中的Post-Build Event

Right Click on Project -> Properties -> Configuration Properties -> Build Events -> Post-Build Event -> Command Line)并添加copy $(OutDir)$(TargetName)$(TargetExt) $(OutDir)$(TargetName).pyd