【原文:http://blog.csdn.net/songzitea/article/details/17961803】
当每次下载OpenCV的新版本时,都需要重新写头文件,更改链接库配置,有点麻烦。所以,我们可以利用OpenCV的版本信息定义了一个宏,无论Opencv是220还是246都能够支持(本人测试过OpenCV2.2.0和OpenCV2.4.6),这样,可以再不用担心更新版本带来的问题了.在此帖出头文件的代码,与大家分享。
- #include <opencv2/opencv.hpp>
- #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
- #pragma comment( lib, cvLIB("core") )
- #pragma comment( lib, cvLIB("imgproc") )
- #pragma comment( lib, cvLIB("highgui") )
- #pragma comment( lib, cvLIB("flann") )
- #pragma comment( lib, cvLIB("features2d") )
- #pragma comment( lib, cvLIB("calib3d") )
- #pragma comment( lib, cvLIB("gpu") )
- #pragma comment( lib, cvLIB("legacy") )
- #pragma comment( lib, cvLIB("ml") )
- #pragma comment( lib, cvLIB("objdetect") )
- #pragma comment( lib, cvLIB("ts") )
- #pragma comment( lib, cvLIB("video") )
- #pragma comment( lib, cvLIB("contrib") )
- #pragma comment( lib, cvLIB("nonfree") )
注:对于比较老的OpenCV版本,可能有个别lib的名称不对,修改一下就可以了。