通过SVN获取最新的OpenCV代码
OpenCV是一个相对活跃的开发项目,如果提交了bug的详细描述以及出错的代码,该bug会被很快修复。然而,OpenCV一般一年才会发布一个或两个官方版本。如果用OpenCV开发比较重要的应用,你可能想获得修复了最新bug的最新OpenCV代码。如果要获取OpenCV的最新代码,需要通过SourceForge网站上的OpenCV库的SVN(Subversion)获得。 【10~11】
这里并不是一个SVN的完整教程。如果你参与过其他的开源项目,也许很熟悉SVN。如果不了解SVN,可以参考Ben Collins-Sussman等人所著的Version Control with Subversion(O'Reilly出版)。SVN的命令行客户端一般被打包在Linux、OS X和大部分类UNIX系统中。对于Windows系统的用户,可以选择TortoiseSVN(http://tortoisesvn.tigris.org/)客户端,很多命令被集成到Windows资源管理器的右键菜单中,使用很方便。
对于Windows用户,可使用TortoiseSVN检出最新源代码,检出地址为https://opencvlibrary.svn.sourceforge.net/svnroot/opencvlibrary/trunk。
对于Linux用户,可以使用如下命令检出最新源代码:
svn co https://opencvlibrary.svn.sourceforge.net/svnroot/opencvlibrary/trunk
用VC2008编译最新SVN版本OpenCV源代码
1. 用subversion软件下载最新的OpenCV源文件,下载地址:
https://opencvlibrary.svn.sourceforge.net/svnroot/opencvlibrary/trunk
下载下来的源代码在目录名opencvlibrary下面,主要有两个目录opencv和opencv_extra目录,只编译opencv目录,将该目录复制到自己指定的目录如D:/Program Files/opencv。
2. 使用CMake建立VC工程文件
2.1 运行Cmake gui
Where is the source code: D:/Program Files/opencv
Where to build the binaries: D:/Program Files/opencv/build(自己新建此目录)
2.2 点击configure按钮,选择相应的编译器为visual studio 9 2008,点击finish,出现红色标记的参数。
2.3 再点configur按钮 参数消除了红色。
2.4 点击generator按钮,生成工程文件。
3. 用vc2008进行编译
3.1 用vc2008打开产生的工程文件OpenCV.sln,打开batch build菜单,全选中,然后Build
3.2 出现两个错误:
Error 195 error PRJ0019: A tool returned an error code from "Performing Post-Build Event..." RUN_TESTS
解决方法:将RUN_TESTS项目从solution中删除(有朋友知道好的解决方法请告知一声)。
4.编译完成后
将build/bin/Debug 和Release目录下的dll文件拷入opencv/bin目录,将build/lib/Debug 和Release目录下的lib文件拷入opencv/lib目录。将opencv/bin目录写入环境变量的path。将相应目录写入vc2008的 tools/options的Projects and Solutions的VC++ directories相应选项中。
--------------------------------------------------------------------------------
* 3.2错误的一个解决方法:
选中RUN_TESTS项目,打开菜单Project->Properties,在弹出的对话框选择Build Event->Post-Build Event,将右边栏中的Command Line里的"D:/Program Files/CMake 2.6/bin/ctest.exe" --force-new-ctest-process -C $(OutDir)删除掉。
这样可以编译成功。实际上这样做应该是使其build完后不再进一步执行ctest来进行测试吧。
* 用VC2003好像无法编译最新SVN版本的OpenCV源码
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/tuqu/archive/2009/08/23/4475566.aspx