网上大多是将函数封装成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();
/
//类的函数
};
之后在facedll.cpp中写函数实现,而且要定义为 FaceLIBDLL
#define FaceLIBDLL
#include "stdafx.h"
#include "facedll.h"
#include <opencv2/opencv.hpp>
//头文件中函数的实现
FaceRecognizer::FaceRecognizer()
{
}
FaceRecognizer::~FaceRecognizer()
{
}
生成(Build)工程,在debug文件夹中会生成相应的DLL及LIB文件:facedll.dll facedll.lib
多个类封装DLL
封装好一个类之后,在后面的类可以调用这个类生成的dll,再封装新类的dll。</