【C++】多个类的DLL封装及调用
来源:互联网 发布:vb crc校验码计算 编辑:程序博客网 时间:2024/05/16 13:59
出处:http://blog.csdn.net/xiaowei_cqu/article/details/7737682
网上大多是将函数封装成dll的教程,类的封装也是基本相似的。
创建DLL
在VS2010中新建一个win32->dll工程。如我建立的工程名为FaceDLL
添加facedll.h的头文件(里面定义dll的接口,调用时会用到)
- #pragma once
- #ifdef FaceLIBDLL
- #define FACEAPI _declspec(dllexport)
- #else
- #define FACEAPI _declspec(dllimport)
- #endif
- //可以include需要用到的头文件
- #include <opencv2/opencv.hpp>
- class FACEAPI FaceRecognizer
- {
- public:
- FaceRecognizer();
- ~FaceRecognizer();
- /////////////////////////////////////
- //类的函数
- };
- #define FaceLIBDLL
- #include "stdafx.h"
- #include "facedll.h"
- #include <opencv2/opencv.hpp>
- //////////头文件中函数的实现
- FaceRecognizer::FaceRecognizer()
- {
- }
- FaceRecognizer::~FaceRecognizer()
- {
- }
多个类封装DLL
封装好一个类之后,在后面的类可以调用这个类生成的dll,再封装新类的dll。
需要在工程中添加需要引用的头文件,如facedll.h。在debug中拷贝facedll.lib文件。在 Properties->Linker->Input-> Additional Dependecies中添加facedll.lib(或写全路径:"..\debug\facedll.lib")
然后一样的方法再封装新的类就可以了~
- #pragma once
- #ifdef HEARTLIBDLL
- #define HEARTAPI _declspec(dllexport)
- #else
- #define HEARTAPI _declspec(dllimport)
- #endif
- #include <opencv2/opencv.hpp>
- #include "facedll.h"
- #include "datadll.h"
- class HEARTAPI HRMeasure
- {
- };
调用DLL
调用需要各个dll的.h、.dll、.lib文件。
将头文件添加到工程中,并#include到需要用的地方。将lib文件拷贝到项目中,并在 Properties->Linker->Input-> Additional Dependecies 中写入:facedll.lib;heartdll.lib。
或者在程序中写入:
- #pragma comment(lib,"facedll.lib")
- #pragma comment(lib,"heartdll.lib")
- HRMeasure *hrMea=new HRMeasure();
转载请注明出处:http://blog.csdn.net/xiaowei_cqu/article/details/7737682
0 0
- 【C++】多个类的DLL封装及调用
- 【C++】多个类的DLL封装及调用
- 【C++】多个类的DLL封装及调用
- 【C++】多个类的 DLL 封装及调用
- 【C++】多个类的DLL封装及调用
- 【C++】多个类的DLL封装及调用
- 【C++】多个类的DLL封装及调用
- 【C++】多个类的DLL封装及调用
- 多个类的DLL封装及调用
- C#调用C++Dll封装时遇到的一系列问题
- C#调用C++Dll封装时遇到的一系列问题(2)
- C#调用C++Dll封装时遇到的一系列问题
- C#调用C++Dll封装时遇到的一系列问题
- C#调用C++Dll封装时遇到的一系列问题
- C#调用C++Dll封装时遇到的一系列问题
- C#调用C++Dll封装时遇到的一系列问题
- C#调用C++Dll封装时遇到的一系列问题
- C#调用C++Dll封装时遇到的一系列问题 参考
- Android之StrictMode应用性能分析
- samba4安装使用
- 客户管理系统之模块设计(七)
- [tableView footerViewForSection] = nil 解决办法
- thinkphp
- 【C++】多个类的DLL封装及调用
- 常用算法之-快速排序
- CSS光标属性
- Android 登陆页面 记住密码和自动登陆的简单实现
- 贪心法应用:不含重复字符的最长子串
- reading schema error: null
- js table增加一行,显示每列总和
- No qualifying bean of type [com.hz.app.mgmt.system.mgr.SysComBaseSettingMgr] is defined
- 1001害死人不偿命的(3n+1)猜想 (15)