文章目录
  1. 1. OpenCV + Visual Studio开发环境搭建
    1. 1.1. 需要提前下载安装的工具
    2. 1.2. 具体操作
    3. 1.3. OpenCV源码跟踪

包含第三方库进行开发的时候,如果要跟踪第三方库的源码,通常情况下需要在同一个solution下面添加第三方库的工程。通过设置project dependency来进行调试第三方库。对于OpenCV如此庞大的工程来说,这种方法实在太不方便了。本文介绍OpenCV开发环境搭建的同时,说明了一种快速跟踪OpenCV源码的方法。

OpenCV + Visual Studio开发环境搭建

本文在Windows平台下搭建OpenCV开发环境,不限于OpenCV的版本以及Visual Studio的版本,此次演示的是OpenCV2.4.8+VS2008。

需要提前下载安装的工具

1.OpenCV源码
2.cmake-gui
3.Visual Studio.

具体操作

1.解压opencv2.4.8.exe到OpenCV2.4.8文件夹下,同时在OpenCV2.4.8文件夹下再创建一个文件夹命名为vs2008。
目录结构如下:
OpenCV2.4.8\build 【注:该文件夹包含了已经OpenCV头文件,以及已经编译好的不同平台下的opencv lib/dll文件】
OpenCV2.4.8\sources【注:该文件夹包含了OpenCV源码】
OpenCV2.4.8\vs2008 【注:用于存放生成的OpenCV工程文件】

2.安装Windows版本的CMake。
打开CMake, 参考下图进行配置:




Cmake GUI


1)将你自己OpenCV2.4.8\sources对应的路径添加到where is the source code,
将OpenCV2.4.8\vs2008对应的路径添加到where to build the binaries。

2)第一次点击Configure, 会生成红色背景的编译配置信息。参数BUILD_SHARED_LIBS默认勾选,生成的是动态链接库工程。如果要编译lib, 请把钩去掉。

3)第二次点击Configure, 如果CMake没有报错,红色背景会全部变白。如果报错了请到Opencv2.4.8\vs2008\CMakeFiles文件夹下查看错误log信息。

4)点击Generate。

到此为止就可以在OpenCV2.4.8\vs2008目录下看到OpenCV.sln等工程信息了。

3.用Visual Studio打开OpenCV.sln。在debug/release模式下分别编译OpenCV工程(如果编译出错请查看Error信息调试)。
debug模式生成的lib:
opencv_calib3d248d.lib
opencv_contrib248d.lib
opencv_core248d.lib
opencv_features2d248d.lib
opencv_flann248d.lib
opencv_gpu248d.lib
opencv_highgui248d.lib
opencv_imgproc248d.lib
opencv_legacy248d.lib
opencv_ml248d.lib
opencv_nonfree248d.lib
opencv_objdetect248d.lib
opencv_ocl248d.lib
opencv_photo248d.lib
opencv_stitching248d.lib
opencv_superres248d.lib
opencv_ts248d.lib
opencv_video248d.lib
opencv_videostab248d.lib
zlibd.lib
libtiffd.lib
libpngd.lib
libjpegd.lib
libjasperd.lib
IlmImfd.lib

release模式生成的lib:
opencv_calib3d248.lib
opencv_contrib248.lib
opencv_core248.lib
opencv_features2d248.lib
opencv_flann248.lib
opencv_gpu248.lib
opencv_highgui248.lib
opencv_imgproc248.lib
opencv_legacy248.lib
opencv_ml248.lib
opencv_nonfree248.lib
opencv_objdetect248.lib
opencv_ocl248.lib
opencv_photo248.lib
opencv_stitching248.lib
opencv_superres248.lib
opencv_ts248.lib
opencv_video248.lib
opencv_videostab248.lib
zlib.lib
libtiff.lib
libpng.lib
libjpeg.lib
libjasper.lib
IlmImf.lib

4.最后将编译好的opencv lib及头文件打包到你的第三方库路径。在你的工程property配置中添加如下依赖文件路径以及依赖的lib。

OpenCV源码跟踪

如上已经完成了OpenCV的配置,但是还没有讲到如何不用加载OpenCV工程进行OpenCV源码跟踪。事实上,Visual Studio Debug模式下调试代码可以准确定位到哪一行代码,是利用了*.pdb文件。这个文件保存了许多调试的信息。因此如果没有这个文件,理论上就没有办法准确跟踪调试源码。

所以这也正是通常情况下需要添加第三方库的工程一并调试的原因。然而,通过Vitual Studio编译OpenCV工程后,即使你新建的solution不包含OpenCV工程,只依赖了你编译过的lib文件,你也可以Step into到OpenCV源码当中(这个原因我也没有弄清楚,如果有谁知道缘由或者这里讲述有误,请不吝赐教)。

最后要说的就是,如果你需要手动在你自己上编译OpenCV工程,然后调用自己生成的lib或者dll,就可以很方便的跟踪源码。

文章目录
  1. 1. OpenCV + Visual Studio开发环境搭建
    1. 1.1. 需要提前下载安装的工具
    2. 1.2. 具体操作
    3. 1.3. OpenCV源码跟踪