使用Visual Studio,几步实现Python C++扩展,以及DLL调用
2015-05-26 14:16
1201 查看
在网上搜了下Python扩展教程,很多提到第三方开源库,而官方推荐的是用setup.py。其实用Visual Studio很简单!来看一下如何一步步编写一个Python扩展,以及如何通过扩展来调用DLL。
参考原文:Wrapping C/C++ Methods of Dynamsoft Barcode SDK for Python
在Visual Studio中创建一个Win32工程DynamsoftBarcodeReader。打开工程属性,添加头文件和库文件路径:
添加依赖库python27.lib:
把扩展改成.pyd:
这样就可以去build工程了。不过如果是使用Debug去build,会出现错误:
原因是因为官方发布的python安装包不包涵debug的库,如果需要可以自己下载源码编译。所以把配置切换到release,成功生成DynamsoftBarcodeReader.pyd:
在Python脚本中导入DynamsoftBarcodeReader,Python会搜索DynamsoftBarcodeReader.pyd,并且调用initDynamsoftBarcodeReader()做初始化。
在工程配置中先加入Dynamsoft Barcode SDK的头文件和库路径,然后使用下面的代码调用Barcode解码,并把结果转换成Python数据:
在工程配置中加入DLL自动拷贝,在编译之后就可以把DLL拷贝到release目录中了:
编译工程生成DynamsoftBarcodeReader.pyd。
在release目录中新建一个Python脚本:
一个简单的Python Barcode Reader代码如下:
用Barcode图片测试一下:
https://github.com/Dynamsoft/Dynamsoft-Barcode-Reader/tree/master/samples/Python
参考原文:Wrapping C/C++ Methods of Dynamsoft Barcode SDK for Python
Visual Studio环境配置
在Visual Studio中创建一个Win32工程DynamsoftBarcodeReader。打开工程属性,添加头文件和库文件路径:添加依赖库python27.lib:
把扩展改成.pyd:
这样就可以去build工程了。不过如果是使用Debug去build,会出现错误:
原因是因为官方发布的python安装包不包涵debug的库,如果需要可以自己下载源码编译。所以把配置切换到release,成功生成DynamsoftBarcodeReader.pyd:
DLL调用举例:封装Dynamsoft Barcode SDK C++接口<
4000
br style="padding:0px; margin:0px">
在Python脚本中导入DynamsoftBarcodeReader,Python会搜索DynamsoftBarcodeReader.pyd,并且调用initDynamsoftBarcodeReader()做初始化。在工程配置中先加入Dynamsoft Barcode SDK的头文件和库路径,然后使用下面的代码调用Barcode解码,并把结果转换成Python数据:
编译工程生成DynamsoftBarcodeReader.pyd。
在release目录中新建一个Python脚本:
一个简单的Python Barcode Reader代码如下:
源码
https://github.com/Dynamsoft/Dynamsoft-Barcode-Reader/tree/master/samples/Python
相关文章推荐
- centos7下使用swig扩展python接口来调用c++ 实现声纹识别
- windows下python调用C/C++以及使用C扩展python
- linux下使用SWIG实现Python调用C++ sdk读取相机图片
- centos中使用swig实现python调用c++
- Windows下QT中用C++调用Python之四 - 第三方扩展的使用
- vs2010下C++调用DLL以及怎么生成DLL和为什么使用DLL
- 使用SWIG实现Python调用C/C++代码
- 使用SWIG实现C++扩展Python
- 仿MFC实现c++按名动态创建对象之续(瘦身以及解决其在dll中使用的问题)
- 使用Visual Studio 2008开发Python的C++扩展之准备步骤
- 使用 SWIG 实现 Java 调用 C++ DLL
- 使用swig实现C++的python扩展功能
- 在C++创建DLL,以及使用C++或者C#分别调用DLL中的方法
- c++调用python以及使用python将gbk/utf-8转punycode
- Windows下python使用SWIG调用C++ dll
- c++生成dll使用python调用dll的方法
- c++生成dll使用python调用dll的方法
- 使用swig实现C++的python扩展功能
- 探究C++中string类的实现原理以及扩展使用
- 使用boost实现python调用c++