VS2013+openCV3.2.0配置

由于电脑本身安装了VS2013,而openCV提供的安装包只提供到VS2015的编译版本,不想重装VS2015,于是下载opencv源码,以及cmake进行编译。记录一些步骤,希望能帮助到和我一样不是很熟悉openCV和VS2013的新手。
参考博文:1【OpenCV3】OpenCV3.2.0在VS2013环境下Cmake编译与快速配置

2 解决下载ffmpeg和ippicv问题
一、编译准备
1、下载安装VS2013
2、win7下载安装cmake
一开始就去找了个zip的源码准备进行安装,然而,源码中没有找到bin文件,也就没有找到cmake.exe,我要这源码有何用。。。。然后去官网找到了cmake-3.7.1-win64-x64.msi文件下载,双击安装,选择添加路径到系统的PATH。安装好以后,在命令行使用cmake-gui启动Cmake的GUI程序。
3、官网下载opencv源码

二、编译
1、将opencv源码压缩包解压到编译目录下,同时新建立build_64和msvc2013_64两个文件夹,前者作为Cmake编译目录,后者作为编译后的安装目录。所以在后面对vs进行属性配置时,添加的都是msvc_2013目录下的东西。
2、接下来的步骤如同上面参考博文1中第3步所示。
3、在configure中会出现由于下载不成功而失败,此时D:\opencv\opencv-3.2.0\3rdparty\ffmpeg\downloads目录下会出现opencv_ffmpeg.dll大小为0KB,所以需要自己手动去下载。
4、手动下载的及更改情况参考的是上述参考博文2中的第一部分中第4点:下载opencv依赖的第三方库,以及第二部分中的4和5,解决下载卡住的问题。
5、继续参考博文1中第4步,第5步其中Debug和Release在VS工具栏中“测试”的下方,第6步(vs2013_64指msvc2013_64)。
6、配置用户变量的PATH,添加编译后目录的bin添加
VS2013+openCV3.2.0配置_第1张图片
7、配置VS2013,建立一个Win32控制台应用程序的空项目(VC++)
配置属性
VS2013+openCV3.2.0配置_第2张图片

添加路径 包含目录与库目录 添加不正确,会识别不了opencv2\opencv.hpp 等等 注意每一步更改完要执行“应用”。

VS2013+openCV3.2.0配置_第3张图片

添加依赖项,注意每一步更改完要执行“应用”。

VS2013+openCV3.2.0配置_第4张图片

在’链接器’->’输入’->’附加依赖项’中添加:编译安装的路径\x86\vc10\lib(D:\opencv\msvc2013_64\x64\vc12\lib)中的文件名称,输入的内容为:如下249版本的lib(这样的lib顺序是:19个带d的debug版的lib写在前面,不带d的release版的lib写在后面):
Debug:
opencv_ml249d.lib
opencv_calib3d249d.lib
opencv_contrib249d.lib
opencv_core249d.lib
opencv_features2d249d.lib
opencv_flann249d.lib
opencv_gpu249d.lib
opencv_highgui249d.lib
opencv_imgproc249d.lib
opencv_legacy249d.lib
opencv_objdetect249d.lib
opencv_ts249d.lib
opencv_video249d.lib
opencv_nonfree249d.lib
opencv_ocl249d.lib
opencv_photo249d.lib
opencv_stitching249d.lib
opencv_superres249d.lib
opencv_videostab249d.lib

Release:
opencv_objdetect249.lib
opencv_ts249.lib
opencv_video249.lib
opencv_nonfree249.lib
opencv_ocl249.lib
opencv_photo249.lib
opencv_stitching249.lib
opencv_superres249.lib
opencv_videostab249.lib
opencv_calib3d249.lib
opencv_contrib249.lib
opencv_core249.lib
opencv_features2d249.lib
opencv_flann249.lib
opencv_gpu249.lib
opencv_highgui249.lib
opencv_imgproc249.lib
opencv_legacy249.lib
opencv_ml249.lib

注:编译时一定要注意是debug还是release!!配置不同的依赖项,否则会报内存访问冲突的错!不同库目录之间要有回车。格式如上。

完成后依然出现
问题错误 1 error LNK1104: 无法打开文件“opencv_videostab320d.obj” C:\Users\Administrator\Desktop\opencvtest\opencvtest\LINK opencvtest,查询网上由于库目录之间没有回车造成,更改添加方式,重新编译,依然没有解决问题,然后去同学那里拷贝了opencv3.3.1,编译通过。还是想把我自己编译的opencv3.2.0安装好,最后重启了VS2013,编译通过。这里的错误主要是添加路径(库),应当都是编译后的安装目录,以及添加以后应用库,以及重启!!重启VS2013!!!尝试过清理解决方案,但还是重启管用。第一次编译会比较慢,耐心等待。

测试代码:

#include "stdafx.h"
#include 
#include 
#include 
using namespace std;
using namespace cv;
int main()
{
    Mat img = imread("1.jpg");
    if (img.empty())
    {
        cout << "error";
        system("pause");
        return -1;
    }
    imshow("1", img);
    waitKey(0);
    system("pause");
    return 0;
}

1.jpg存放在你建立的工程目录下,如我的opencvtest的opencvtest下。VS2013+openCV3.2.0配置_第5张图片

你可能感兴趣的:(openCV)