关于OpenCV源码的查看&&&openCV3.2配置x86版本&&用CMake编译其他vs版本的opencv

对于大部分刚刚使用OpenCV的用户而言,只需要用调用OpenCV的函数即可。但有时候我们想要查看OpenCV的源代码,例如查看cv::imread()这个函数,此时只需要鼠标左键go to declaration(查看声明)即可,但我们发现只是进入了一个声明而没有源代码,如下图所示。当我们想要进入它的定义(go to definition)时却什么也不能打开,这又是什么原因呢?这是因为OpenCV将很多函数加入了函数库,被编译成了DLL文件,所以只能看到声明,没有办法看到源代码。

关于OpenCV源码的查看&&&openCV3.2配置x86版本&&用CMake编译其他vs版本的opencv

那为什么又说OpenCV是开源软件呢?的确OpenCV是开源软件,有以下几种方式查看OpenCV的源代码:

1)方法一:在自己所安装的文件夹中查看,我这里OpenCV安装的文件夹为:C:\OpenCV-3.2.0\opencv\sources\modules。 就拿上面的cv::imread为例,上图右上方imgcodecs.hpp说明了源代码是在路径C:\OpenCV-3.2.0\opencv\sources\modules下的imgcodecs这个文件夹中的。按照命名的意义我们可以找到是在loadsave.cpp这个文件中:

关于OpenCV源码的查看&&&openCV3.2配置x86版本&&用CMake编译其他vs版本的opencv

2)方法二:用CMake导出OpenCV的源码,生成VC++项目,然后用visual Studio打开工程,去这个工程中搜索。具体可以参看这一篇博客:http://blog.****.net/lu597203933/article/details/16116721


openCV3.2配置x86版本

由于OpenCV官方没有提供3.2版本,用openCV3.2配置x86版本具体可以参见(但这篇文章中所提供的x86这个包是错误的):http://blog.****.net/sinat_27953939/article/details/68948313

也可以到我这个盘中下载:http://pan.baidu.com/s/1pL19sBT

配置x86版本的步骤和配置x64版本差不多:

1)设置环境变量path中增加:C:\OpenCV-3.2.0\opencv\build\x86\vc14\bin

2)设置:Additional Include Directories;Additional Library Directories;Additional Independences。

在运行时候如果发现报错(“应用程序无法正常启动(0xc00007b)”)的原因往往是因为丢失了第一步。


用Cmake生成并且编译其他版本的OpenCV,例如Visual Studio2012(x86)版本

1.什么是CMake?

       CMake is an open-source, cross-platform family of tools designed to build, test and package software. CMake is used to control the software compilation process using simple platform and compiler independent configuration files, and generate native makefiles and workspaces that can be used in the compiler environment of your chioce.
(大致意思是:CMake 是一个开源,跨平台的工具,用来构建,测试,打包应用软件。CMake 被用作控制软件编译的过程,使用简单平台以及独立的便宜设置文件,来生成你所选择编译环境下的当地“生成文件makefiles”和工作区)

实现可以参考这篇博客http://blog.****.net/u013358387/article/details/50558597;

在所有内容全部配置好后需要重新启动电脑!!!