x64+VS2013+opencv3.3.0自行编译源码安装及配置过程

来源:互联网 发布:三毛淘宝小号 编辑:程序博客网 时间:2024/06/07 08:08

我的环境:win7_x64 + VS2013 + opencv3.3.0

我的电脑最早安装了VS2010 + opencv2.0 ,但是由于本人需要用到PCL,最开始用的pcl1.6_all-in-one,后来下载了pcl1.8_all-in-one(这个在网上搜的是对应vs2013,所以又安装了vs2013,原来的vs2010,opencv2.0什么的都没有卸载,目前在我的电脑上是共存状态。)按照网上的教程,遵循版本和环境对应好的原则,外加思考,楼主安装配置还没有出现过问题。

百度搜索“opencv”,进入官方网站 http://opencv.org/releases.html  ,都已经更新到3.3.0了,我准备下载Win pack,提示下载框的时候发现文件名是“opencv-3.3.0-vc14.exe”,vc14对应的是vs2015,vc12对应的是vs2013,所以我没有进行下载,下载了源代码"Sources"自行编译。


下载完成后解压,我的目录是 D:/opencv3.3.0  ,然后运行我之前在用PCL点云库时用到的 CMake (cmake-gui),这个一个windows软件,自行在网上搜索下载安装即可。我的CMake版本是3.8.2  ,选择源码目录 D:/opencv3.3.0 ,选择生成工程的目录D:/opencv3.3.0/build  ,然后点击Configure按钮,选择自己的编译器,我的选的是Visual Studio 12 2013 Win64,其他默认不变,确定后等待,Done了只有可以自行选择一些编译的选项,就是下面Name,Value项,就像安装软件需要哪些组件,不需要哪些功能一样。新手可以略过,什么都不改,默认即可。然后再次点击Configure按钮,红色背景的部分都会变成白色,再点击 Generate按钮即可生成vs工程。


Generate完成后,到D:/opencv3.3.0/build  目录下,打开OpenCV.sln,这就是我们熟悉的vs2013开发环境。先在Debug模式下对进行编译,直接右键解决方案,等它Build完(我的电脑落后,等很长时间,半个小时到一个小时的样子),完成后生成的文件放在 build\lib\Debug和 build\bin\Debug目录下,可以去查看。然后将INSTALL设置为启动工程(在INSTALL右键->设为启动项目),然后右键INSTALL,选择仅用于项目,仅生成INSTALL。这样操作后会把相关的配置bin,lib,hpp分别复制到/build/install/x64/vc12/lib/   ,/build/install/x64/vc12/bin  ,   /build/install/include/opencv2/   ,再在Release模式下进行同样的操作。


(1)配置包含目录

在打开的属性页中选择通用属性-VC++目录-包含目录,添加如下三个目录:

D:\opencv-3.3.0\build\install\include

D:\opencv-3.3.0\build\install\include\opencv

D:\opencv-3.3.0\build\install\include\opencv2

(2)配置库目录

在打开的属性页中选择通用属性-VC++目录-库目录,添加目录:

D:\opencv-3.3.0\build\install\x64\vc12\lib


电脑系统环境变量添加:D:\opencv-3.3.0\build\install\x64\vc12\bin;


(3)配置链接库

在打开的属性页中选择通用属性-链接器-输入-附加依赖项,添加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

我增加编译了WITH_OPENNI,以及opencv_contrib,用到里面的opencv_rgbd330d.lib,所以还要添加opencv_rgbd330d.lib

release模式下把最后的d去掉,添加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


opencv_rgbd330.lib

新建工程win32控制台程序后,配置管理器里要设置平台从win32改为x64

原创粉丝点击