‘壹’ 为什么要使用cmake+VS重新编译的opencv库
使用opencv需要编译源码,得到库文件。可以用cmake构建项目后编译,也可以直接用官方提供的编译好的版本。
官方提供的编译库一般只是标准版本,可能与某些库并不兼容,比如官方提供的编译好的版本与opengl就不兼容,这时就只能自己构建项目后编译。
在用cmake生成工程文件的时候,设置当中有WITH_OPENGL,WITH_QT等选项,你想支持哪个库只需要选择即可。
当然,一般使用的话,用官方提供的库即可。OpenCV2.3.1版本就提供编译好的库,可以直接设置使用
‘贰’ opencv 源代码的makefile在哪
opencv没有makefile,opencv的编译依赖于cmake工具来进行编译,里面的各种编译命令没法直接执行,需要使用cmake工具。下载完opencv的源码安装包以后,在opencv目录中执行cmake config对编译过程进行配置,然后执行cmake install对opencv进行编译安装。
‘叁’ opencv源码编译之后还需要配置吗
..\OpenCV2.3\opencv\moles 这个目录有一些常用的库,一般算法的实现是看不到的,通常在静态库里,你可以连接他们,生成执行文件。
hpp,其实质就是将.cpp的实现代码混入.h头文件当中,定义与实现都包含在同一文件,则该类的调用者只需要include该hpp文件即可,无需再 将cpp加入到project中进行编译。而实现代码将直接编译到调用者的obj文件中,不再生成单独的虎矗港匪蕃睹歌色攻姬obj,采用hpp将大幅度减少调用 project中的cpp文件数与编译次数,也不用再发布烦人的lib与dll,因此非常适合用来编写公用的开源库。
‘肆’ 为什么要使用CMake+VS编译OpenCV的源码
因为opencv中各个组件都是大家贡献的代码,而且opencv高度依赖机器的指令集等等特性,同时opencv也有众多的可配置项,不同的机器配置不同的操作系统环境会对opencv编译过程产生很多影响,所以如果使用makefile的方式来编译opencv那么opencv的安装将变得十分的复杂。