进入OpenCV内部源码调试

来源:互联网 发布:vb语言和java 编辑:程序博客网 时间:2024/06/07 15:08

前段时间由于要学习图像处理,下载了OpenCV2.3.1开发包,里面的build文件夹已经包含了VC9和VC10开发所需的lib文件和dll文件。

直接使用这些文件是可以完成开发工作的,但是存在一个问题:调试代码时按F11无法进入OpenCV内部源码(比如cvLoadImage函数的实现)进行调试。把modules目录加入Source Directories无法解决问题,其实根本原因是缺少pdb文件,pdb文件里面记录了VS需要的符号信息,如果有这些文件的话,就可以进入OpenCV内部源码调试。所以要想进入OpenCV内部源码进行调试,必须用相应的编译器(比如VS2010)手动编译opencv源码,然后运行时调用编译出来的dll文件即可(在环境变量里时设置,因为编译出来的dll会附带pdb文件,而这些pdb文件包含了调试信息)。使用cmake可以生成各种编译器的项目文件,支持Visual Studio 6/7/8/9/10/11以及Eclipse,CodeBlocks,Borland等编译器。


以VS2010为例,具体步骤为:

1、下载cmake,针对VS10生成解决方案OpenCV.sln

2、打开OpenCV.sln,编译整个解决方案(时间有点长,请耐心等待),编译完成后,会成OpenCV.sln同级目录下的Debug目录下生成dll文件和pdb文件

3、设置环境变量Path,把opencv自带的dll文件的路径去掉(如E:\opencv\build\x86\vc10\bin),把生成的dll所在的路径加上

4、注销或重启电脑(注意这一步必不可少)

5、再次打开VS2010进行调试,按F11即可进入opencv内部源码

1 0
原创粉丝点击