opencv x.x 编译源码

  虽然opencv可以下载exe文件然后安装,通过配置就可以在vs中使用,但是opencv文件夹下sources文件中的源码是需要编译才能生成vs下的工程文件。目前下载的opencv中含有VC10、VC11、VC12三个版本的文件,因此vs系列IDE可以直接配置环境,非常方便;但是对于CodeBlocks,它的编译器是MinGW,在OpenCV2.3.X系列以后并不包含对应的编译文件,因此需要自己编译才能使用。因此使用Cmake工具编译源码的操作必须要有。
  本来打算编译opencv3.0,无奈版本问题太多,尤其是Cmake generate完成之后,在dos中使用mingw32-make install进行安装时,问题太多,网上虽然有解决的办法,但是解决方案晦涩难懂、步骤繁多,但还是使用稳定的opencv2.4.9比较靠谱。

工具:
(1)opencv3.0 2.4.9
(2)cmake3.5.0
(3)VisualStdio2013
(4)CodeBlocks16.01

VisualStdio

  • 使用cmake时候,要根据提示选择编译器的时候选择对应版本。
  • Cmake在编译opencv3.0的时候,会出现一个错误提示:
       “error in configuration process,project files may be invalid”
      这个错误是因为“\opencv\sources\3rdparty\ippicv\downloads\windows-b5028a92224ec1fbc554010c52eb3ec8”路径下的文件错误,文件大小为0kb,需要在网上下载同名文件进行替换,文件名字是时间串,一定要现在同名文件,否则不起作用。
  • 生成之后,进入文件夹,打开OPECV.sln文件,编译。会需要大概7分钟左右的时间。
  • CodeBlocks

  • 这里要使用OpenCV2.4.9,这个版本的问题很少,编译顺利。
  • 进入CodeBlocks的安装目录,把MinGW/bin文件写入系统变量,因为后面安全需要使用其中的的命令。
  • 用Cmake生成(先configure,在generate),根据向导一步步来。
  • 进入dos,进入生成文件夹(举例:进入D盘命令,”d:”;查看所在文件夹的文件命令,”dir”;进入目录命令,”cd 目录名”),然后使用命令”mingw32-make install”进行安装,默认安装在生成文件夹的install将文件夹。如果使用的是opencv3.0版本,会出现一堆问题,具体解决办法,参考如下两个链接。
        http://blog.csdn.net/wchyumo2009/article/details/48286715
        http://answers.opencv.org/question/40159/cannot-compile-opencv-30/
  • 安装完成后,主要使用install文件夹下的三个文件夹。
        install/include,
        install/x86/mingw/bin,
        install/x86/mingw/lib。
      在CodeBlocks中选择一个项目,右键选择Build Options,进行配置。注意左上角默认是选中Debug模式,一定要选中整个Project。
        在Search Directories -> Compiler中添加include文件夹;
        在Search Directories->Linker中添加bin文件夹;
        在Linker Settings中添加lib中所有的文件。
  • 配置完运行,如果出现
        “程序不能启动,因为计算机中缺少libopencvhigui249.dll文件”
      这样就是在install文件夹下搜索相应的文件,复制到64位系统C:/Windows/SysWoW64文件中,或者是32位系统C:/Windows/System32文件夹中。
  • 你可能感兴趣的:(opencv,编译器)