Boost Python C 项目构建了如何使用Python的新库
Boost-Python C++ project builds, How to use the new library from Python?
我有一个VS12项目,并使用Boost-Python将其中一些类暴露于Python。在某些链接问题之后,我的项目最终正确构建并生成MySDK.lib
和MySDK.dll
。我称Boost Python模块与库相同,即BOOST_PYTHON_MODULE(MySDK)
。这些.lib
和.dll
我需要从Python使用MySDK
吗?
我正在使用Pycharm社区,但找不到将生成的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库。
更新 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
- 尝试将数据从C++发送到 Python 并使用套接字C++反转,C++ sendto() 和 python recvfr
- 将 c++ 代码转换为 python,使用运算符?
- 调用c++库时,如何在Python中使用ctypes传递字节作为引用
- Swig:在Python中使用c ++ STL复合体
- 强制 Dlib python 仅使用 CPU 支持进行安装;在具有 Cuda 和所有内容的 GPU 机器上
- C++类在Python中使用SWIG的奇怪行为
- SWIG和Mingw-64与Python一起使用...不是有效的 Win32 应用程序
- 配置 Visual Studio 以与 Boost.Python 和 Python 3 配合使用
- 在 Python 中使用 C/C++ 的最快方法是什么?
- 在Python中使用UEYE API
- 在 Python 中使用 dlib 训练的对象检测器
- 编写要在 Python 中使用的并行 C/C++ 模块的最简单方法
- 是否可以在Python中使用CV_GUI_EXPANDED标志
- 如何在python中使用c ++ .lib(c ++静态库)文件
- Python到C++:使用递归列出背包的所有组合的算法
- Python:使用<cstdio>时与c ++命令行程序的通信不起作用
- 读取在python中使用C++生成器创建的文件
- 在 Python 中使用 OpenCV 将打包的 BGRA 图像缓冲区转换为 RGB 时遇到问题
- 如何在Python(不使用MedPy)或C中将*.mha文件转换为*.nii文件
- 在 python 中使用链接库中的方法时出现属性错误