生成dll:(后面调用需要此步骤中的 .h, .lib 和 .dll)
//CreatDLL.h
#pragma once//避免重复编译
#ifdef CREATDLL_EXPORTS//这个宏只要你选了项目配置类型为.dll,在预处理器里会自动包含.
#define DLL_API _declspec(dllexport)
#else
#define DLL_API _declspec(dllimport) //当编写文件调用时,没有该宏。因此只要不是生成dll的文件全都符合这点。这里是暗的,显然条件不成立。
#endif
#include <string>
namespace zsdll
{
extern "C" DLL_API void ThresholdImg(std::string SrcPath, std::string ResPath, double thresh);
extern "C" DLL_API void InsertSort(int *data_array, int size_array);
}
// CreatDLL.cpp : 定义 DLL 应用程序的导出函数。
#include "stdafx.h"
//下面都是自带的
#include <iostream>
#include <opencv2\opencv.hpp>
//包含同名的头文件
#include "CreatDLL.h"
void zsdll::ThresholdImg(std::string SrcPath, std::string ResPath, double thresh)
{
cv::Mat srcImg = cv::imread(SrcPath, 0);
cv::Mat resImg;
srcImg.copyTo(resImg); //深复制
cv::threshold(srcImg, resImg, th