OpenCV 3.00 + VS2010环境配置(Staticlib版本)

使用OpenCV的常常需要使用其静态链接库(Staticlib),但是OpenCV 300只提供了vc11(VS2012),vc12(VS2015)的支持库,
因此如果要在VS2010上使用OPenCV 300的Staticlib,需要自行编译。

1.使用cmake 生成OpenCV 300的VS2010工程
步骤:
(1)使用cmake选择source code路径,路径为opencv/source
(2)选择生成工程的路径
(3)点击Configure按钮,选择功能
(4)因为OpenCV默认生成DLL,所以此时需要关闭一些功能,具体需要关闭的功能如下表(在只使用staticlib的前提下)
编号
功能
描述
1

BUILD_SHARED_LIBS

保留则生成DLL
2

WITH_IPP


3

WITH_WEBP


4

WITH_OPENEXR


(5)提示Configure done后,选择Generate

2.编译OpenCV 300 Release,Debug
步骤:
(1)直接使用VS2010打开工程,可以看到所有代码
(2)选择release,debug,并分别编译
(3)将生成的staticlib放入调用路径

3.在需要OpenCV图像算法支持的工程中引入相应的图像库
步骤:
(1)在代码中添加.h和.Lib文件
#ifdef _DEBUG
#pragma comment( lib, "vfw32.lib" )   
#pragma comment( lib, "comctl32.lib" )
#pragma comment( lib, "../../../Lib/OpenCV300_Mine/staticlib/ippicvmt.lib" )   
#pragma comment( lib, "../../../Lib/OpenCV300_Mine/staticlib/IlmImfd.lib" )
#pragma comment( lib, "../../../Lib/OpenCV300_Mine/staticlib/libjasperd.lib" )   
#pragma comment( lib, "../../../Lib/OpenCV300_Mine/staticlib/libjpegd.lib" )
#pragma comment( lib, "../../../Lib/OpenCV300_Mine/staticlib/libpngd.lib" )   
#pragma comment( lib, "../../../Lib/OpenCV300_Mine/staticlib/libtiffd.lib" )
#pragma comment( lib, "../../../Lib/OpenCV300_Mine/staticlib/libwebpd.lib" )   
#pragma comment( lib, "../../../Lib/OpenCV300_Mine/staticlib/zlibd.lib" )
#pragma comment(lib, "../../../Lib/OpenCV300_Mine/staticlib/opencv_calib3d300d.lib")
#pragma comment(lib, "../../../Lib/OpenCV300_Mine/staticlib/opencv_core300d.lib") 
#pragma comment(lib, "../../../Lib/OpenCV300_Mine/staticlib/opencv_features2d300d.lib") 
#pragma comment(lib, "../../../Lib/OpenCV300_Mine/staticlib/opencv_flann300d.lib") 
#pragma comment(lib, "../../../Lib/OpenCV300_Mine/staticlib/opencv_highgui300d.lib") 
#pragma comment(lib, "../../../Lib/OpenCV300_Mine/staticlib/opencv_imgcodecs300d.lib") 
#pragma comment(lib, "../../../Lib/OpenCV300_Mine/staticlib/opencv_imgproc300d.lib") 
#pragma comment(lib, "../../../Lib/OpenCV300_Mine/staticlib/opencv_ml300d.lib") 
#pragma comment(lib, "../../../Lib/OpenCV300_Mine/staticlib/opencv_objdetect300d.lib") 
#pragma comment(lib, "../../../Lib/OpenCV300_Mine/staticlib/opencv_photo300d.lib") 
#pragma comment(lib, "../../../Lib/OpenCV300_Mine/staticlib/opencv_shape300d.lib") 
#pragma comment(lib, "../../../Lib/OpenCV300_Mine/staticlib/opencv_imgproc300d.lib") 
#pragma comment(lib, "../../../Lib/OpenCV300_Mine/staticlib/opencv_video300d.lib") 
#pragma comment(lib, "../../../Lib/OpenCV300_Mine/staticlib/opencv_videoio300d.lib")
#pragma comment(lib, "../../../Lib/OpenCV300_Mine/staticlib/opencv_videostab300d.lib") 
#pragma comment(lib, "../../../Lib/OpenCV300_Mine/staticlib/opencv_hal300d.lib")
#else
#pragma comment( lib, "vfw32.lib" )   
#pragma comment( lib, "comctl32.lib" )
#pragma comment( lib, "../../../Lib/OpenCV300_Mine/staticlib/ippicvmt.lib" )   
#pragma comment( lib, "../../../Lib/OpenCV300_Mine/staticlib/IlmImf.lib" )
#pragma comment( lib, "../../../Lib/OpenCV300_Mine/staticlib/libjasper.lib" )   
#pragma comment( lib, "../../../Lib/OpenCV300_Mine/staticlib/libjpeg.lib" )
#pragma comment( lib, "../../../Lib/OpenCV300_Mine/staticlib/libpng.lib" )   
#pragma comment( lib, "../../../Lib/OpenCV300_Mine/staticlib/libtiff.lib" )
#pragma comment( lib, "../../../Lib/OpenCV300_Mine/staticlib/libwebp.lib" )   
#pragma comment( lib, "../../../Lib/OpenCV300_Mine/staticlib/zlib.lib" )
#pragma comment(lib, "../../../Lib/OpenCV300_Mine/staticlib/opencv_calib3d300.lib") 
#pragma comment(lib, "../../../Lib/OpenCV300_Mine/staticlib/opencv_core300.lib") 
#pragma comment(lib, "../../../Lib/OpenCV300_Mine/staticlib/opencv_features2d300.lib") 
#pragma comment(lib, "../../../Lib/OpenCV300_Mine/staticlib/opencv_flann300.lib") 
#pragma comment(lib, "../../../Lib/OpenCV300_Mine/staticlib/opencv_highgui300.lib") 
#pragma comment(lib, "../../../Lib/OpenCV300_Mine/staticlib/opencv_imgcodecs300.lib") 
#pragma comment(lib, "../../../Lib/OpenCV300_Mine/staticlib/opencv_imgproc300.lib")
#pragma comment(lib, "../../../Lib/OpenCV300_Mine/staticlib/opencv_ml300.lib") 
#pragma comment(lib, "../../../Lib/OpenCV300_Mine/staticlib/opencv_objdetect300.lib") 
#pragma comment(lib, "../../../Lib/OpenCV300_Mine/staticlib/opencv_photo300.lib") 
#pragma comment(lib, "../../../Lib/OpenCV300_Mine/staticlib/opencv_shape300.lib") 
//#pragma comment(lib, "../../../Lib/OpenCV300_Mine/staticlib/opencv_stitching300.lib") 
//#pragma comment(lib, "../../../Lib/OpenCV300_Mine/staticlib/opencv_superres300.lib") 
//#pragma comment(lib, "../../../Lib/OpenCV300_Mine/staticlib/opencv_ts300.lib") 
#pragma comment(lib, "../../../Lib/OpenCV300_Mine/staticlib/opencv_imgproc300.lib")
#pragma comment(lib, "../../../Lib/OpenCV300_Mine/staticlib/opencv_video300.lib") 
#pragma comment(lib, "../../../Lib/OpenCV300_Mine/staticlib/opencv_videoio300.lib") 
#pragma comment(lib, "../../../Lib/OpenCV300_Mine/staticlib/opencv_videostab300.lib") 
#pragma comment(lib, "../../../Lib/OpenCV300_Mine/staticlib/opencv_hal300.lib")
#endif
(2)在属性-》C++-》附加路径添加
..\..\Lib\OpenCV300\Include\opencv2
..\..\Lib\OpenCV300\Include

4.在需要OpenCV图像算法支持的工程中修改属性
Debug

Release


参考资料
1.《安装opencv3.0.0与配置Visual studio 2008》 http://jingyan.baidu.com/article/b907e627cb97cd46e7891c3d.html
3. openCV 中cvCopyImage,cvCopyMat和cvCloneImage,cvCloneMat的区别》 https://absorbguo.blog.ustc.edu.cn/?p=61
5.《 error LNK2038: 检测到“_MSC_VER”的不匹配项: 值“1600”不匹配值“1700”》 http://www.aichengxu.com/view/2507708
6.《 iplimage* 转为mat  opencv3.0》 http://blog.sina.com.cn/s/blog_500bd63c0102vsf5.html
7.《 VS2012中使用OpenCV-3.0.0的动态链接库和静态链接库 》(静态库调用讲得很清楚)
9.《 LSD直线检测
10.《 OpenCV CMake 编译 静态库 和 自己的工程》 http://www.tuicool.com/articles/uErEru
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值