Opencv2/3 一键配置

版权声明:本文为博主原创文章,未经博主允许不得转载。 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库。

猜你喜欢

转载自blog.csdn.net/zhoukehu_CSDN/article/details/80313653