使用vs2010调试时opencv2.2 库函数的源代码看不到

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用vs2010调试时opencv2.2 库函数的源代码看不到相关的知识,希望对你有一定的参考价值。

opencv的库函数 像cvcanny cvCreateGaussianBGModel cvCreateImage的按f11无法进入 直接跳过该函数了。。。虽然程序可以运行。。。。求指教!!!!

参考技术A 是可以单步调试的。
首先你需要自己编译opencv库,然后将程序引用的dll(或通过lib指向的dll)指到自己编译的dll上(要保证dll路径下有对应的pdb文件,自己编译的opencv就会生成这个pdb)。然后你就可以F11了。
参考技术B opencv的库函数都是封装好的,这样是不能看的,如果想看原函数的话,你去根目录下找到该函数所在的cpp文件去看

使用vs2019编译和调试开源项目opencv3.4.0版本+opencv3.4.0源码网盘链接

1.引言

opencv一些经典的算法申请了版权,所以版本上选择3.4.3以下的版本。最新因为在学习海思平台的东西,所以参考它的opencv版本为3.4.0,刚好避开了经典算法的版权。

2.下载opencv3.4.0源码

我的猜测是因为版权原因,所以一般的途径下载速度超级超级慢,并且会一直下载失败。比如我在windows上谷歌浏览器中的官网和github官网下载都失败了,这里为了看到的童鞋不要踩坑,讲一个我后续下载成功的一个方法。
使用linux环境,不行就装个虚拟机,在虚拟机中搞个linux环境,使用系统自带的火狐浏览器再去官网下载。emmmmmm,原因我就搞不懂了。知道的童鞋可以帮忙留个言让我涨点姿势。
也可能是浏览器的原因,因为我本身有linux系统,所以我是这样下载成功的。也可以试试直接在windows的其他浏览器中下载(我也试过自带的IE浏览器也不行)

下载地址:https://opencv.org/releases/page/4/

在这里插入图片描述
具体在第几页要自己查找3.4.0慢慢找…
然后点GitHub,或者直接去github中下载
在这里插入图片描述
opencv-3.4.0-android-sdk.zip 安卓sdk
XXXX.framework framework压缩包
XXXX.7z 安装包的压缩包
XXX.exe 安装包,包括动态库和头文件,仅仅使用它的库做自己的demo或者应用可以选择这个
Source code(zip) windows下面代码压缩包
Source code(tar.gz) linux下面代码的压缩包

我们使用vs2019是windows上的,所以选择Source code(zip)
下载好了解压,然后记住解压后的目录,后续会用到
如果还是下载不了的可以在评论区中下载我已经下载好的,放在网盘中的opencv3.4.0

3.使用cmake构建vs2019项目

cmake尽量下载最新版本,老版本没有测试过,这个也是开源项目,放心大胆的下。直接去官网(https://cmake.org/)或者github下载,详细过程就不讲了,下载安装包直接安装就行了。
我使用的版本是3.20.2
在这里插入图片描述
然后输入源代码目录,和构建到目标的目录
在这里插入图片描述
配置项看个人选择,也可以不管他,后续再重新配置
我这里是这样选择的

去掉BUILD_JAVA 
增加BUILD_EXAMPLES(我们是学习的,这个例子也勾上)
去掉BUILD_opencv_python3
去掉BUILD_opencv_python_bindings_generator
增加opencv_world(这个是整体cv命令空间的一些接口,建议这个勾上)

依次点击Configure等待完成
在这里插入图片描述

点击Generate就ok了
在这里插入图片描述
中间有一个步骤选择构建目标,选择Visual Studio 16 2019 就行了,同理也可以构建其他IDE或编译器的项目

4.使用vs2019打开项目进行编译和调试

一般构建不会失败,提示框中看到
Configuring done
Generating done
就表明完成了
然后去构建到目标的目录(cmake第一步中Where to build the binaries中的目录)
看到OpenCV.sln就是整个解决方案的文件,直接使用vs2019打开就可以看到很多项目了,然后就是生产解决方案就ok了,其中的example就是现成的测试例子,可以好好研究研究,其中的原理和代码都可以看到,很方便

以上是关于使用vs2010调试时opencv2.2 库函数的源代码看不到的主要内容,如果未能解决你的问题,请参考以下文章

vs2010调试怎么查看变量

VS2008如何设置才能使库函数静态链接

当你有.pdb文件和VS2010的C++源代码时,如何进入dll的功能?

请问VS2010中,如何查看调试过程中函数的返回值?

gccrelease模式设置断点

求问vs2013怎么添加静态库,试了两种方法都有问题