OpenCV 不同版本之间的切换

当我们在使用创建C++工程,配置OpenCV的时候,尤其是在复现其他开源项目的时候,可能会对OpenCV的版本和平台有要求,主要版本区别就是 OpenCV 2.x 版本还是 OpenCV 3.x 版本,平台区别是 x86 还是 x64, 这也是在使用 OpenCV 2.x 时有时会有以下问题发生的原因:

模块计算机类型“X64”与目标计算机类型“X86”冲突

或者是

模块计算机类型“X86”与目标计算机类型“X64”冲突

以下就是如何在一个 OpenCV 目录下同时编译两种不同版本和不同平台的库

1. 下载 OpenCV 源码

这里需要从 github上面下载,打开以后页面是:
这里写图片描述

我们在安装路径下,打开命令行工具中输入:

git clone https://github.com/opencv/opencv.git opencv_src

这里写图片描述

完成以后就会在对应路径下生成一个名字为 opencv_src 的文件夹。
这里写图片描述

2.编译 OpenCV 2.x 版本

此时我们进入 opencv_src 打开 Git Bash, 输入 :

git tag

可以看见,所有可以使用的 openCV 的版本就出来了:
这里写图片描述

然后我们选择自己想要的版本号(这里以2.4.13为例),输入:

git reset --hard 2.4.13

这里写图片描述

然后现在版本就变成 2.4.13 了按照我之前这篇博文的方式用Cmake 编译就可以了: Windows下 Cmake + VS 编译 OpenCV 源码

需要注意的是:

这里写图片描述
当我们选择编译器的时候, Visual Studio 14 2015 是编译 x86 版本的库;Visual Studio 14 2015 Win64 是编译 x64 版本的库,这里如果不嫌麻烦的话,可以新建两个不同名字的build文件夹(例如:build2, build2_x64),都编译一下,以备不时之需。

3. 编译 OpenCV 3.x 版本

完成后,仍然重复上述步骤,将 OpenCV 2.x 版本切换到 OpenCV 3.x 版本(这里以 3.4.0 为例),在 opencv_src 文件夹路径下在 Git Bash 中输入:

 git reset --hard 3.4.0

这里写图片描述

此时需要再重新新建一个不同名字的build文件夹,然后就是重复以上编译操作。OpenCV 3.x 一般都是 x64 平台使用的,所以直接按照博客的方法编译一种即可。

最后都完成后可以看到,在 opencv_src 文件夹中就同时会有不同版本以及不同平台的库,使用时直接添加相应目录路径就可以了。

这里写图片描述

你可能感兴趣的:(配置文件)