前言
由于这个尝试花了一些时间,所以记录下来。由于我是尝试的很多理论地方不大懂,我把我尝试成功的部门记录下来,希望对大家有所帮助。
我的环境是windows10 + vs2015
创建 vs dll project
python所有不同的调用方式都需要先建一个dll project。
新建一个c++工程,选择DLL、导出符号和空项目(如下图);
IMG20180612_131008.png
c++ 默认的解决平台是32位的,如果python是64位的,需要把c++ 解决平台修改为64位;
python 调用 c++普通函数
python 调用 struct
python 调用 class
pro.h 文件
#include
#ifndef _pro_header_2014_
#define _pro_header_2014_
#ifdef EXPORT_PRO_DLL
#define PRO_API __declspec(dllexport)
#else
#define PRO_API __declspec(dllimport)
#endif
class Foo
{
public:
Foo(cv::Mat);
void bar();
int* foobar(cv::Mat);
private:
cv::Mat val;