版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhoukehu_CSDN/article/details/80313653
作者使用VS2010/2013/2015进行相关开发,在使用Opencv2.4.9以及Opencv3.4.1时候,经常在Debug模式和Release模式之间切换,就需要重新配置Opencv的静态库。此外,Opencv2和Opencv3的静态库配置不同,作者在配置Opencv库方面一直没有找到较为便捷的方法。直到在CSDN上看到一篇博文
点击打开链接,非常感谢!对其代码稍许修改,用在自己的工程中,可以实现一劳永逸(每次工程新建后添加该头文件即可)。
//OpenCVconfig.h
#pragma once
#include <opencv2/opencv.hpp>
using namespace cv;
#define CV_VERSION_ID CVAUX_STR(CV_MAJOR_VERSION) \
CVAUX_STR(CV_MINOR_VERSION) \
CVAUX_STR(CV_SUBMINOR_VERSION)
#ifdef _DEBUG
#define cvLIB(name) "opencv_" name CV_VERSION_ID "d"
#else
#define cvLIB(name) "opencv_" name CV_VERSION_ID
#endif
#if CV_MAJOR_VERSION==2
#pragma comment( lib, cvLIB("core") )
#pragma comment( lib, cvLIB("features2d") )
#pragma comment( lib, cvLIB("flann") )
#pragma comment( lib, cvLIB("gpu") )
#pragma comment( lib, cvLIB("calib3d") )
#pragma comment( lib, cvLIB("contrib") )
#pragma comment( lib, cvLIB("highgui") )
#pragma comment( lib, cvLIB("imgproc") )
#pragma comment( lib, cvLIB("legacy") )
#pragma comment( lib, cvLIB("ml") )
#pragma comment( lib, cvLIB("nonfree") )
#pragma comment( lib, cvLIB("legacy") )
#pragma comment( lib, cvLIB("objdetect") )
#pragma comment( lib, cvLIB("photo") )
#pragma comment( lib, cvLIB("stitching") )
#pragma comment( lib, cvLIB("ts") )
#pragma comment( lib, cvLIB("superres") )
#pragma comment( lib, cvLIB("video") )
#pragma comment( lib, cvLIB("videostab") )
#endif
#if CV_MAJOR_VERSION==3
#pragma comment( lib, cvLIB("world") )
#endif
对于不同版本的Opencv库,1)会依据属性中配置的include目录来确定是调用Opencv2还是Opencv3;2)会根据工程当前的配置类型来确定是引入Debug或Release库。