万能Opencv版本库自动Load大法

来源:互联网 发布:linux查看jvm版本 编辑:程序博客网 时间:2024/06/07 00:00

在历经各种项目,与其他同事的代码进行交互融合过程中,不断出现各自调用不同OpenCV版本算法库问题,从而导致一个项目中,存在各种不同的版本号OpenCV库,通过最近从其他博主那里,了解到OpenCV已经提供有“万能通用版”自动加载大法,可自动匹配不同版本,基本方法如下(基本来自其他博主,非原创,仅作转载分享,希望对大家项目有一点作用)。

#include <opencv2/opencv.hpp>#include <opencv2/core/version.hpp>#define CX_OPENCV_VERSION_ID CVAUX_STR(CV_MAJOR_VERSION) \     CVAUX_STR(CV_MINOR_VERSION) \     CVAUX_STR(CV_SUBMINOR_VERSION)#ifdef _DEBUG  #define CX_LIB(name) "opencv_" name CX_OPENCV_VERSION_ID "d"  #else  #define CX_LIB(name) "opencv_" name CX_OPENCV_VERSION_ID  #endif  #pragma comment( lib, CX_LIB("core") )#pragma comment( lib, CX_LIB("imgproc") )#pragma comment( lib, CX_LIB("highgui") )#pragma comment( lib, CX_LIB("flann") )#pragma comment( lib, CX_LIB("features2d") )#pragma comment( lib, CX_LIB("calib3d") )#pragma comment( lib, CX_LIB("gpu") )#pragma comment( lib, CX_LIB("legacy") )#pragma comment( lib, CX_LIB("ml") )#pragma comment( lib, CX_LIB("objdetect") )#pragma comment( lib, CX_LIB("ts") )#pragma comment( lib, CX_LIB("video") )#pragma comment( lib, CX_LIB("contrib") )#pragma comment( lib, CX_LIB("nonfree") )#pragma comment( lib, CX_LIB("ffmpeg") )#pragma comment( lib, CX_LIB("photo") )#pragma comment( lib, CX_LIB("stitching") )#pragma comment( lib, CX_LIB("videostab") )
可将以上宏源码添加至项目的公共调用头文件中,注意几个宏的定义不要跟已有项目宏冲突即可。

原创粉丝点击