• Open Source Computer Vision Library

Mingw编译最新版本的OpenCV代码

Wikipedia,自由的百科全书

(修订版本间差异)
13:44 2011年3月16日的修订版本
Ollydbg23 (Talk | 贡献)
mingw编译方法更新
← Previous diff
13:44 2011年3月16日的修订版本
Ollydbg23 (Talk | 贡献)
2011-03-16更新OpenCV2.x的编译方法
Next diff →
第 4行: 第 4行:
特别要注意的是 videoinput.a 这个库的更新。 特别要注意的是 videoinput.a 这个库的更新。
另外,如果用CMake产生的makefile后,在opencv的build目录下,通常是允许如下内容: 另外,如果用CMake产生的makefile后,在opencv的build目录下,通常是允许如下内容:
 +
mingw32-make mingw32-make
 +
上面的命令将编译整个OpenCV库 上面的命令将编译整个OpenCV库
然后再运行 然后再运行
 +
mingw32-make install mingw32-make install
 +
就会把相应的头文件等内容安装好。 就会把相应的头文件等内容安装好。

13:44 2011年3月16日的修订版本

目录

2011-03-16更新OpenCV2.x的编译方法

OpenCV 2.x 版本的源代码在MinGW下的编译方法,请参考如下链接: OpenCV 2.1.0 + MinGW + Eclipse 特别要注意的是 videoinput.a 这个库的更新。 另外,如果用CMake产生的makefile后,在opencv的build目录下,通常是允许如下内容:

mingw32-make

上面的命令将编译整个OpenCV库 然后再运行

mingw32-make install

就会把相应的头文件等内容安装好。

下载最新版本的OpenCV源代码

首先,请从 sourceforge 上面,下载 OpenCV的最新源代码。有大概两种方法。

通过SVN工具下载

下载源代码的方法有很多,常用的是SVN工具或者CVS工具,如果采用SVN的工具,从以下地址把代码check out出来。

OpenCV SVN

注意,以上的链接,你必须使用SVN的工具才可以下载代码。

使用CMake工具生成项目文件

下载和安装CMake的工作我就不讲了,大家直接可以去CMake的网站下载最新的windows setup文件来安装。CMake下载网页

把刚才下载的OpenCV的包解压缩,比如放在 F:\opencv的目录里面,作为 CMake的输入,另外创建一个目录比如 F:\test1 作为CMake的输出。

Image:CMakeGui.jpg

CMake会自动让你选择生成的项目是针对什么的,在这里我选择 codeblocks mingw,如果你是使用 visual C++的,那你也可以选择对于的版本。一切OK后,你就点击 configure 按钮, 然后再点击 OK 按钮。 这样,在F:\test1 目录下面,就生成了所有的可用于codeblocks的项目文件了。

注意,上面的CMAKE_BUILD_TYPE 如果你填写的是Debug ,那么产生的是debug的opencv库,如果你填写的是Release或者空缺,则产生的是Release的OpenCV库。

使用codeblocks编译OpenCV的库

打开codeblocks,然后选择打开工程文件,你选择 F:\test1\OpenCV.cbp 的项目文件。这样子,codeblocks就把整个openCV的源代码的项目全部打开了。请看下面的示意图:

Image:CBOpenCV.jpg

选择codeblocks中的Build按钮或者菜单。等待片刻,编译就完成了。注意,编译完成之后,在F:\test1的目录下面,会有一个lib目录,里面都是刚刚编译生成的lib文件(mingw编译生成的库文件,都是****.a的格式的,和你在VC++下看到的***.lib文件是不一样的)。

实例代码

参考Codeblocks_MinGW_openCV#添加库文件和头文件关于添加库文件和头文件的内容,修改相应的库文件和头文件。 需要修改的地方是:

  • 头文件的地址是: F:\opencv\include\opencv
  • 库文件的地址是: F:\test1\lib
  • 添加的库的名字,改成如下内容 -llibcxcore110.dll -llibcv110.dll -llibhighgui110.dll

注意,上面的 -lXXXXX的意思,是添加库文件,比如第一个的意思,是添加名为 libcxcore110.dll.a 的库文件。 另外,也可以在添加lib的左边的列表框里面,直接选取对应的 .a 文件,这两个方法是一样的。

编译,链接,运行,又一次大功告成了!

参考文档和链接

  1. 源码编译 linux编译方法.
  2. TDM-MinGW一个集成的MinGW安装包.
  3. SVN软件的一个论坛讨论
Views
Personal tools