最近跟一商业公司合作,开发地铁场景中交通信号灯的检测模块。所以需要将检测模块类封装成动态链接库,提供给该公司。现将该简单的封装过程记录下来,以便日后查看。
该检测模块类还依赖VS2013和OpenCV3.1中的类库。步骤其实很简单,如下:
第一步,建立一个win32项目的一个工程,工程名最好为要封装的类的类名,如下:
这样我们就建立了一个准备导出CTrafficLightsExtract类的动态链接库。
第二步,在头文件中TrafficLightsExtract.h,我们可以加入相关OpenCV库的头文件,这样我们在后面使用这个动态库的时候就只需要包含TrafficLightsExtract.h;然后在类的声明中增加类的方法,如下
// 下列 ifdef 块是创建使从 DLL 导出更简单的
// 宏的标准方法。此 DLL 中的所有文件都是用命令行上定义的 TRAFFICLIGHTIDENTIFYTESTDLL_EXPORTS
// 符号编译的。在使用此 DLL 的
// 任何其他项目上不应定义此符号。这样,源文件中包含此文件的任何其他项目都会将
// TRAFFICLIGHTI