C++创建和调用DLL动态链接库

2023-12-22 11:22:08

如何把自己的算法功能打包供给软件调用,就需要知道如何将算法打包成dll动态链接库。

第一步:创建C++空项目

第二步:创建头文件(.h)以及源文件(.cpp)

第三步:编写头文件(重点)

?下代码显示部分是模板,名称可以自己起,最重要的就是__declspec(dllexport)以及__declspec(dllimport)。一个是导出,一个是导入。

#pragma once
#ifndef OCRLITENCNN_H
#define OCRLITENCNN_H
//宏定义导出
#define OCRLITENCNN_EXPORTS
#ifdef OCRLITENCNN_EXPORTS
#define OCRLITENCNN_API  __declspec(dllexport)
#else
#define OCRLITENCNN_API __declspec(dllimport)
#endif
//编写代码区域可以定义你的命名空间,你的类
class OCRLITENCNN_API OcrLiteEx {
public:
//定义一些单例,主函数,初始化

	bool Init(int numThread, const char* modelDetPath, const char* modelClsPath, const char* modelRecPath, const char* keysPath, int flagGpu);
	int Deinit();
	OcrResult Detect(const char* imgDir, const char* imgName, int padding, int maxSideLen, float boxScoreThresh, float boxThresh, float unClipRatio, bool doAngle, bool mostAngle);
private:
//定义一些变量,私有函数
   	OcrLiteEx();
	~OcrLiteEx();

};
#endif

第4步:编写.cpp文件

这一步主要是一个算法实现脚本alg.cpp和main.cpp的实现,这里涉及到如何调用之前算法实现脚本生成的dll文件,dll实现主要通过在属性设置下,常规配置类型里把.exe改选成动态库(.dll)然后点击菜单栏里的生成-》重新生成,然后生成完之后,到项目文件下x64-》release文件下找到新生成的dll文件

第5步:交接

将生成的dll文件,lib文件,还有编译的环境dll文件一起给到软件,如果有算法模型,也要给

文章来源:https://blog.csdn.net/wangmengmeng99/article/details/135145052
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。