现在的位置: 首页 > 综合 > 正文

QT编译opencv

2017年10月28日 ⁄ 综合 ⁄ 共 2125字 ⁄ 字号 评论关闭

CSDN开通已经好久,但是一点点东西没有贡献过,这是第一篇,就从简单的开始吧

 

一:编译前准备:

       1.  需要下载并且正确安装好QT(配置好MinGW编译器)

       2.  将QT安装路径下的MinGW \ bin加入到系统的Path环境变量中。

       3. 下载好你需要的版本的opencv(http://opencv.org/downloads.html)

       4. 下载CMake(http://www.cmake.org/cmake/resources/software.html) ,以下(图1.1)是CMake的下载界面,选择Windows(Win32
Installer)下载并且安装。

                                 

                                                                                                                    图1.1          

 

二:编译阶段

        1. 打开你安装的CMake中的bin目录,双击打开CMake。打开的图面如(图1.2)所示

                                             

                                                                                               图1.2

                                             

       说明:CMake中的“Where is the source code”中存放的是源码路径,下载的opencv解压或者安装后的目录。

                                         “Where is the build the binaries”指定编译的结果存放的路径,即目标路径。

        2. 使用CMake编译OpenCV。配置源码路径与生成的目标路径

       (2.1)源码路径:下载的opencv解压或者安装后的目录。相应的目录包含如下图1.3所示的文件夹(不同的版本有可能不同)

                                

                                                                              图1.3

 

       (2.2)目标路径:可以选择任意的地方,该路径最终会存放的是Opencv编译后的静态库lib和动态库bin

 

         3.上述的源码路径和目标路径都配置好的时候点击Config按键,来进行配置。点击Config后会出现如下图1.4所示

                                  

                                                                                      图1.4

 

          由于QT使用的是MingGW编译器,因此需要选择MinGW以及要指定特定的编译器(MinGW下的Gcc和G++),点击“Next”出现如下图1.5所示,分别配置QT路径下的MinGW/bin下的gcc和g++编译器。然后点击“Finish”.完成配置

                            

                                                                                                  图1.5

 

          4. 上述的完成之后会完成配置的任务,配置任务完成后。点击"Generate".

          5. 使用cmd进入命令行,进入目标路径下,输入mingw32-make命令开始编译

 

                           

 

           等上述全部完成便会完成了相应的编译操作,在目标路径中的lib和bin下便是生成的Opencv的静态库和动态库文件。

 

         在编译Opencv2.1时,会出现“在编译过程中发现了一个错误:/src/highgui/../../3rdparty/lib/libvideoInput.a  

            (videoInput.o):videoInput.cpp:(.text+0x6e1e): undefined reference to `_Unwind_SjLj_Unregister'

         经查找发现是2.1一个通病,需要将http://pyopencv.googlecode.com/files/libvideoInput.a下载的文件替换原文件。然后重新

        进入目标路径执行mingw32-make便可完成最终的Opencv编译

 

 

抱歉!评论已关闭.