Visual Studio2013 配置opencv3.3.0 x64系统

时间:2023-03-09 04:28:03
Visual Studio2013 配置opencv3.3.0   x64系统

注:小白一个,第一次写博客,可能会有一些理解上的错误,只此记录自己测试成功的坎坷之路,已备以后查看,同时给有需要之人。

我是win10 64 位,之前安装了visual studio 2013, 现在要安装最新版本的 opencv 3.3.0.(可能换成vs2015 配置要容易一些。)

opencv 最新发布的几个版本(已知的 3.3.0 和3.2.0)默认支持 vs 2015。 即直接从官网下载的压缩包带有vc14 的字样,代表了vs 2015版本,vs2013相应的应该是vc12。所以不能直接应用于vs2013版本。我当时直接下载安装出错尝试修复无效,后来才发现好像不支持vs2013. 参考了多篇博客,反反复复终于运行成功。

参考链接:

http://blog.****.net/guduruyu/article/details/68482967

http://www.cnblogs.com/dosrun/archive/2013/01/13/2858373.html

http://blog.****.net/tfy1028/article/details/8660823

http://blog.****.net/cv_jason/article/details/70037545

这一部分主要参考http://blog.****.net/guduruyu/article/details/68482967

1.opencv 源码 下载:

1)官网

2). Gihub

两个有一点区别是 在后面生成的.lib的文件名不一样,(Gihub上是d,官网是OFF,后面就知道了)

Gihub 下载:Visual Studio2013 配置opencv3.3.0   x64系统

2.将源码压缩包解压到编译目录下,并在同一目录下新建build_64和msvc_2013两个文件夹,前者作为Cmake编译目录,后者作为编译后的安装目录。

Visual Studio2013 配置opencv3.3.0   x64系统

3.Cmake 3.8.0下载 链接 http://blog.****.net/cv_jason/article/details/70037545(来自http://blog.****.net/cv_jason/article/details/70037545) 或者从官网下,要下载相应版本。我不想折腾,直接用的上面这个链接.

下载完成之后 双击安装。比较简单,具体我也不懂,直接默认选项。

4.开始菜单 比较明显的可以找到Cmake 应用程序,打开CMake,开启编译选项的配置。设置好source code目录和build目录,点击Configure按钮,选择VS版本,这里选择的是win64 VS2013,选择本地编译器作为默认编译器,点finish,即开始配置过程。(配置过程需要一段时间,可以先干点其他的,等待初步配置完成,注意保证网络的畅通,Cmake的过程中需要下载第三方库)

注意:路径的即为刚才解压出来的opencv所在的目录。

Visual Studio2013 配置opencv3.3.0   x64系统

Visual Studio2013 配置opencv3.3.0   x64系统

Visual Studio2013 配置opencv3.3.0   x64系统

5.初步配置完成,如下图所示。需要修改一下相关选项,这里只需要修改两个地方,其他默认即可,一是将CMAKE_INSTALL_PREFIX修改成之前创建的msvc2013_64目录,二是点击add Entry按钮,添加CMAKE_DEBUG_POSTFIX选项,值设为“d”,用于区分debug和release版本,否则编译安装时debug版本会被release版本覆盖。设置好后,再点击configure,配置完成后点击“generate”生成编译工程。

Visual Studio2013 配置opencv3.3.0   x64系统

6.VS2013下编译与安装。经过上一步后,我们在build_64目录下即可看到CMake生成的编译工程,如下图所示。

打开opencv.sln,用vs2013打开,显示“正在分析解决方案中的文件...”,解析完成后.

Visual Studio2013 配置opencv3.3.0   x64系统

注意此时 要考虑在 x64 下进行编译,若debug 旁边的小框中没有x64 选项,参考http://blog.****.net/tfy1028/article/details/8660823 中的步骤2.( 右键解决方案->属性,

Visual Studio2013 配置opencv3.3.0   x64系统

Visual Studio2013 配置opencv3.3.0   x64系统

将平台选为X64,若无此选项,则点击配置管理器,选择X64平台,若无则新建一个X64平台并选中。)

Visual Studio2013 配置opencv3.3.0   x64系统

Visual Studio2013 配置opencv3.3.0   x64系统

先在Debug下对工程进行编译(BUILD->Build Solution)(即,生成——生成解决方案..._很傻的自己),编译要等一会完成(其中,可能会有报错,出现缺少python27_d.lib相关的错误,可以不必理会),完成后,将INSTALL设置为启动工程(在INSTALL右键->Set as startup project),然后进行安装(BUILD->Project Only->Build Only Install);再在Release下进行编译和安装(和Debug类似)。

Visual Studio2013 配置opencv3.3.0   x64系统

Visual Studio2013 配置opencv3.3.0   x64系统

Visual Studio2013 配置opencv3.3.0   x64系统

7.添加环境变量。安装完成后,我们在vs2013_64目录下即可看到一个include文件夹和x64文件夹,我们在x64目录下逐级找到bin文件夹,将bin的路径添加到系统的环境变量里,如下图所示。

Visual Studio2013 配置opencv3.3.0   x64系统

Visual Studio2013 配置opencv3.3.0   x64系统

Visual Studio2013 配置opencv3.3.0   x64系统

8.之后需要新建工程,.cpp文件,然后

Visual Studio2013 配置opencv3.3.0   x64系统

Visual Studio2013 配置opencv3.3.0   x64系统

Visual Studio2013 配置opencv3.3.0   x64系统

Visual Studio2013 配置opencv3.3.0   x64系统

配置包含目录 加上三个路径 (找到自己相应的路径,include下有两个文件夹分别为opencv,opencv2)

D:anzhuang\opencv-3.3.0\opencv\build\include;

D:anzhuang\opencv-3.3.0\opencv\build\include\opencv;

D:anzhuang\opencv-3.3.0\build\include\opencv2;

Visual Studio2013 配置opencv3.3.0   x64系统

在  库目录 加上路径  D:anzhuang\opencv-3.3.0\opencv\build\x64\vc12\lib;(也是找到相应的bin文件夹的位置,这里出现了vc12,而不是直接安装opencv3.3.0出现的vc14)

Visual Studio2013 配置opencv3.3.0   x64系统

Visual Studio2013 配置opencv3.3.0   x64系统

完成后点左侧的 链接器-输入,

在 附加依赖项 加上 lib文件夹中的所有项。

注意:最后一位是d的在前,无d 的在后面。

之前有提到过Gihub 和官网上有一些不一样的地方,就是在这里。 从官网上下载的应该把“d”改为“OFF”,看一下lib文件夹就知道了。两种都可以运行。已经在不同的电脑上测试过。

opencv_calib3d330d.lib

opencv_core330d.lib

opencv_dnn330d.lib

opencv_features2d330d.lib

opencv_flann330d.lib

opencv_highgui330d.lib

opencv_imgcodecs330d.lib

opencv_imgproc330d.lib

opencv_ml330d.lib

opencv_objdetect330d.lib

opencv_photo330d.lib

opencv_shape330d.lib

opencv_stitching330d.lib

opencv_superres330d.lib

opencv_video330d.lib

opencv_videoio330d.lib

opencv_videostab330d.lib

opencv_calib3d330.lib

opencv_core330.lib

opencv_dnn330.lib

opencv_features2d330.lib

opencv_flann330.lib

opencv_highgui330.lib

opencv_imgcodecs330.lib

opencv_imgproc330.lib

opencv_ml330.lib

opencv_objdetect330.lib

opencv_photo330.lib

opencv_shape330.lib

opencv_stitching330.lib

opencv_superres330.lib

opencv_video330.lib

opencv_videoio330.lib

opencv_videostab330.lib

这样配置完成后,以后每次新建一个项目都需要重新设置包含目录和库目录以及 附加依赖项lib,一个技巧是可以设置 新项目属性表 并保存,之后 只需 添加现有属性表即可。

具体参考一下链接:

https://www.zhihu.com/question/24400428

9.测试。网上找的简单测试程序。

    #include<iostream>
#include<core/core.hpp>
#include<highgui/highgui.hpp> using namespace cv; int main()
{
// 读入一张图片(游戏原画)
Mat img = imread("1.jpg");
// 创建一个名为 "游戏原画"窗口
namedWindow("游戏原画");
// 在窗口中显示游戏原画
imshow("游戏原画", img);
// 等待6000 ms后窗口自动关闭
waitKey(6000);
}

如果有问题,可以先尝试重启试一下,好像电脑配置环境变量时需要重启。

细节可能有些地方没有描述清楚,可以参考那几个链接。

补充:好像会出现 “无法查找或打开 PDB 文件”的错误信息, 但是可以运行

收获:测试 运行成功很开心。

以后的道路还很长,折腾着折腾着可能也就习惯了。

大神好多,要是能知道原理就好了。不过好像也不太重要。