#pragma once
#include#include#include#include#includeusing namespace std;
using namespace cv;
extern "C" __declspec(dllexport) void thresholdIntegral(Mat inputMat, Mat outputMat);
其中,extern "C":告诉编译器将被它修饰的代码按C语言的方式进行编译。上述操作之后,会发现关于opencv库的头都在报错,配置好opencv就没事了。
首先我一直使用的都是 debug x64的平台1、 项目--属性 1)VC++目录--包含目录--编辑 将您下载的opencv路径下的两个路径添加进去: D:\Program Files\Visual studio 2019\OpenCV\opencv\build\include D:\Program Files\Visual studio 2019\OpenCV\opencv\build\include\opencv2 点击确定2)VC++目录--库目录--编辑 将您下载的opencv路径下的一个路径添加进去: D:\Program Files\Visual studio 2019\OpenCV\opencv\build\x64\vc15\lib 点击确定3)链接器--输入--附加依耐项--编辑 将您下载的opencv路径下的opencv_worldxxxd.lib添加进去,它的路径就是您刚刚添加到库目录的路径: D:\Program Files\Visual studio 2019\OpenCV\opencv\build\x64\vc15\lib 一路点击确定以上opencv就全部配置完成了。<3>调用动态链接库: 1、新建一个C++工程项目(例:DllTest),也需按<2>配置好opencv2、调用DLL 1)将刚刚Dll1的生成工程目录下的x64\Debug文件夹中的“Dll1.dll”和“Dll1.lib”文件复制到"DllTest\DllTest"文件夹中。这个时候问题来了,发现我们的生成的只有dll文件,却缺少相对应的lib文件,那么要解决一下这个问题了。
PS: 打开之前的dll1.sln 在工程上右键 ->添加 ->新建项 ->选"模块定义文件(.def)" ->随便输入个名字 ->添加添加完成后,直接编译,再打开文件夹,会发现有相对应lib文件了 2)将刚刚Dll1的生成工程目录下的x64\Debug文件夹中的“Dll1.dll”和“Dll1.lib”文件复制到"DllTest\DllTest"文件夹中。 3)将刚刚Dll1的生成工程目录下的Dll1\Dll1文件夹中的“Test.h”文件复制到"DllTest\DllTest"文件夹中。 4)对新建的C++工程(Adaptive),头文件--添加--现有项 添加了Test.h之后。编辑Test.h文件#pragma once
#pragma comment(lib,"Dll1.lib")
#include#include#include#include#includeusing namespace cv;
extern "C" __declspec(dllimport) void thresholdIntegral(Mat inputMat, Mat outputMat);
首先,添加一行代码:#pragma comment(lib,"xxx.lib"),它的作用是将您的“xxx.dll”链接到您的工程项目中;你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧