VS2010重编译OpenCV2.4.9 用于调试源代码

原创 2014年08月11日 17:28:53

最近想自己编译一下OpenCV源代码,以用于调试时查看源代码运行情况。

参考网上一篇文章:《Win7x64+VS2012+OpenCV2.4.3+CMake2.8.10+TBB41重编译OpenCV》 进行配置,但是错误频频。现将配置过程进行梳理,以免大家跟我一样走太多的弯路。

1、工具

下载并安装这几个工具:CMake2.8、OpenCV2.4.9、VS2010

2、用CMake生成OpenCV2.4.9 的VS2010解决方案

基本按照文章《Win7x64+VS2012+OpenCV2.4.3+CMake2.8.10+TBB41重编译OpenCV》进行操作即可。

这里点击Configure按钮,在出现的对话框中选择Visual Studio 10,同时,貌似新版本已经不需要配置TBB了,所以只需要注意:

(1)设置好源代码路径

(2)设置好生成路径

(3)点击Configure 直到没有红色栏后,点击Generate 生成项目工程即可。



3、打开opencv工程并编译源代码,生成我们所需要的动态链接库

这里注意:

(1)应该选择ALL_BUILD项目,右键进行“生成”,而不是INSTALL。

(2)分别在Debug模式和Release模式下对项目进行生成。


(3)如果生成过程中出现LINK : fatal error LNK1181: 无法打开输入文件“..\..\lib\Release\opencv_ocl249.lib”,则说明该lib生成不成功,具体解决办法估计大同小异,可参考这篇文章(不懂cmake伤不起啊。。)。


4、配置Opencv环境变量

注意,这里也是跟上述文章不一样的地方,估计是因为OpenCV版本升级的原因,导致配置上有所不同吧,

环境变量path应该添加以下两个路径:
D:\Program Files\opencv2.4.9\vc10solution\bin\Debug  和  D:\Program Files\opencv2.4.9\vc10solution\bin\Release

注:D:\Program Files\opencv2.4.9\vc10solution 是我用CMake生成的VS2010工程的所在目录。

说明:之前用的是OpenCV自带编译版本的请注意了,应该将原来环境变量删除后再添加。我一开始没有删除导致后面一直调试不成功,即使能跟踪源代码了,但是只要函数形参是const string& 的函数,字符串就无法正常传递,调试时发现函数形参一直是<错误的指针>,无法赋值。具体原因不太懂,但折腾了一整天。


5、创建测试工程

5.1 添加新项目属性表

新建测试工程TestOpenCV,并在属性管理器中,选择Debug | Win32,右键点击 “添加新项目属性表”,并命名为opencv249x86.Debug  ,同理在Release | Win32 处新建一个项目属性表,并命名为opencv249x86.Release(PS:可将这两个项目属性表保存起来,当需要创建新工程时,直接复制到项目工程下,并添加进去就好。)


5.2 配置包含目录和库目录

双击新建的项目属性表opencv249x86.Debug,在VC++目录->包含目录,VC++目录->库目录进行设置:

VC++目录->包含目录:

D:\Program Files\opencv2.4.9\vc10solution\install\include

D:\Program Files\opencv2.4.9\vc10solution\install\include\opencv

D:\Program Files\opencv2.4.9\vc10solution\install\include\opencv2

VC++目录->库目录:

D:\Program Files\opencv2.4.9\vc10solution\lib\Debug



5.3添加附加依赖项

在 链接器->输入->附加依赖项处添加:

opencv_calib3d249d.lib
opencv_contrib249d.lib
opencv_core249d.lib
opencv_features2d249d.lib
opencv_flann249d.lib
opencv_gpu249d.lib
opencv_highgui249d.lib
opencv_imgproc249d.lib
opencv_legacy249d.lib
opencv_objdetect249d.lib
opencv_ts249d.lib
opencv_video249d.lib
opencv_nonfree249d.lib
opencv_ocl249d.lib
opencv_photo249d.lib
opencv_stitching249d.lib
opencv_superres249d.lib
opencv_videostab249d.lib


同理,在opencv249x86.Release 中也是类似的设置:

VC++目录->包含目录:

D:\Program Files\opencv2.4.9\vc10solution\install\include

D:\Program Files\opencv2.4.9\vc10solution\install\include\opencv

D:\Program Files\opencv2.4.9\vc10solution\install\include\opencv2

VC++目录->库目录:

D:\Program Files\opencv2.4.9\vc10solution\lib\Release

链接器->输入->附加依赖项处添加:

opencv_calib3d249.lib
opencv_contrib249.lib
opencv_core249.lib
opencv_features2d249.lib
opencv_flann249.lib
opencv_gpu249.lib
opencv_highgui249.lib
opencv_imgproc249.lib
opencv_legacy249.lib
opencv_ml249.lib
opencv_objdetect249.lib
opencv_ts249.lib
opencv_video249.lib
opencv_nonfree249.lib
opencv_ocl249.lib
opencv_photo249.lib
opencv_stitching249.lib
opencv_superres249.lib
opencv_videostab249.lib


至此,我们的所有配置已经完成,主要与文章区别的地方在环境变量path不同,包含的库目录不同


5.4添加测试代码

<span style="font-size:14px;">#include <opencv2\opencv.hpp>

using namespace cv;
using namespace std;
int main()
{
	Mat img = imread("E:\\test\\lena.jpg");
	if(img.empty())
	{
		cout<<"error";
		return -1;
	}
	imshow("test",img);
	waitKey();

	return 0;
}</span>

调试模式下可以跟踪进源代码:



版权声明:本文为博主原创文章,未经博主允许不得转载。

VS2010重编译OpenCV2.4.9 用于调试源代码

原地址在这里 我添加了一点东西 目录(?)[-] 工具用CMake生成OpenCV249 的VS2010解决方案打开opencv工程并编译源代码生成我们所需要...
  • wejoncy
  • wejoncy
  • 2015年10月21日 16:46
  • 1543

VS2010重编译OpenCV2.4.9 用于调试源代码

VS2010重编译OpenCV2.4.9 用于调试源代码。 参考网上一篇文章:《Win7x64+VS2012+OpenCV2.4.3+CMake2.8.10+TBB41重编译OpenCV》 进行配置,...
  • szlcw1
  • szlcw1
  • 2014年08月11日 17:28
  • 2703

学习OpenCV的学习笔记系列(一)VS2010+OpenCV2.4.9环境配置

要想学好OpenCV,首先当然要知道怎么配置环境了。以本人的配置环境为例,步骤如下。 第一步 下载及解压OpenCV源码 虽然很多第三方网站及一些学习论坛会提供OpenCV的源码下载,但是还是推荐...
  • bestgonghuibin
  • bestgonghuibin
  • 2014年08月07日 01:15
  • 5963

已编译完全的OPENCV2.4.9 lib库、dll库 、第三方资源库及头文件 适用于(visual studio)VS2010

  • 2017年10月23日 11:11
  • 48.75MB
  • 下载

VS2017编译的OpenCV2.4.9和OpenCV3.0.0两个版本

  • 2017年12月19日 20:09
  • 65.09MB
  • 下载

VS2010编译配置opencv2.4.9

opencv2.4.9
  • zhangjikuan
  • zhangjikuan
  • 2014年10月05日 19:46
  • 711

win7 + VS2010 + CUDA7.5 编译OPENCV2.4.9 报错:CMake Error at cmake/OpenCVUtils.cmake:433 (string):

具体编译参考以下博文,感谢博主的分享 http://blog.csdn.net/joe_fannie/article/details/50394892 但是在cmake的过程中,遇到以下报错: 1、...
  • xiao_lxl
  • xiao_lxl
  • 2016年08月08日 15:52
  • 4413

Win7下,VS2010 + CUDA7.5 + GPU 重新编译OpenCV2.4.9(一)

Cmake安装步骤可参考  CUDA_环境搭建:Win7+VS2010+CUDA7.5 步骤一 1.       打开CMake,在Where is thesource code:中选择 F:...
  • xiao_lxl
  • xiao_lxl
  • 2016年08月11日 16:05
  • 2076

vs2013 + win8.1 + cuda8.0 手工编译 opencv2.4.9

1. 前言 由于opencv 默认编译的库文件中是不支持gpu功能的, 为了开启gpu 功能, 需要我们手工编译opencv 编译过程真的都是泪啊!!! 2. 基本环境 cuda 8.0 https:...
  • zhyh1435589631
  • zhyh1435589631
  • 2017年01月16日 23:12
  • 902

cuda5.5/6.0 + opencv 2.4.9 vs2010 编译opencv GPU模块

写在前面:一直想尝试一下opencv GPU模块,无奈以前电脑配置的ATI的显卡,最近换了一台联想的D20工作站,虽然性能不比最近发布的D30,但还算是有了可以尝试cuda的平台。没想到刚开始还是遇到...
  • lp395371656
  • lp395371656
  • 2014年07月17日 13:58
  • 1598
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:VS2010重编译OpenCV2.4.9 用于调试源代码
举报原因:
原因补充:

(最多只允许输入30个字)