vs2019 + opencv生成自己的dll动态库供他人使用
最近需要把自己写的工程代码编译成动态库供他人使用,于是看了好多博客,但发现其实并不是很详细,于是自己成功后想把方法保存下来供自己后面可以使用。
使用动态库需要同时用到dll和lib文件,使用的编译器是Vs2019,同时还使用了opencv,没有装opencv也可以看参考,直接把涉及到opencv的代码删除好了。
一、生成dll和lib文件
1.打开vs2019,创建一个dll文件工程。

2.在Dll文件夹下建立math工程,**注意:**解决方案处我未打勾,后面都是在这个基础上配的。

建立后的文件夹如下图所示:

如下图,建立后vs2019默认有这4个文件, 其中一种方法是在那几个.h和.cpp中直接粘贴代码的,在使用生成的dll时得包含头文件#include"pch.h",若有多个dll工程,这样每个工程都会有"pch.h",会造成不知道是哪个头文件。因此这里不考虑这种方法,直接忽略他们,直接往下面第5点看。

5.重点: 在debug x64下(也可release),直接在源文件和头文件中建立一个类,这个类名就是后续要使用的头文件名字。 我这里命名为"MathAlgorithm.h" 和 “MathAlgorithm.cpp”,把自己写的代码粘贴上去就好了。代码在后面,有需要的直接拿走。
__declspec(dllexport) 表示可以导出函数或类给其他工程调用的意思,这里定义了宏SimpleCal_API来代替它。

.h代码
// MathAlgorithm.h
#pragma once
#include<iostream>
#include<opencv2/opencv.hpp>
#define SimpleCal_API ;
#ifdef SimpleCal_API
#define SimpleCal_API __declspec(dllexport)
#else
#define SimpleCal_API __declspec(dllimport)
#endif
// 全局函数 使用了opencv第三方库,若没有装可以把这个函数去掉
SimpleCal_API bool testBuildOpencvDLL(cv::Mat& imgInput, cv:

本文详细介绍了如何使用VisualStudio2019和OpenCV在C++环境中创建和调用动态链接库(dll和lib),包括创建dll工程、设置编译选项和新工程引入dll的步骤。
最低0.47元/天 解锁文章
1926





