利用cmake工具,让VS2013使用OpenCV3.30库

 opencv库的版本更新频率比较高,目前官方最新发布版本为opencv3.3.0。最新release库会增加一些新的功能,或者改进部分算法,但是对于开发工具,开发平台的更新经常会相对滞后。手中有一台win7系统的笔记本,开发工具使用的是VS2013。而最新的opencv3.3.0,官方发布的win pack支持VC14,也就是VS2015,。幸好,opencv项目的编译工具cmake,那么我们可以使用cmake构建适合不同版本编译器的静态库、动态库。

环境概述
1、系统版本:    windows 7  64位
2、开发工具:    VS2013 
3、cmake版本:    cmake-3.9.1-win64-x64
4、opencv版本:opencv-3.3.0.zip       【sources
    下载链接 http://opencv.org/releases.html


一、配置cmake目录

       解压opencv-3.3.0.zip包,可以得到如上opencv-3.3.0文件夹。新建一个文件夹作为输出目录,这里命名输出文件夹为“output”


    依次选择源码目录和输出目录,如上图中 source code 和binaries
点击configure按钮,选择生成的工程类型,本次选择 visual studio 12  2013 ,点击Finish


二、解决cmake下载错误
直接点击Generate会开始编译生成工程,但是有极大的可能性,会出现工程生成很慢,
其实主要原因是需要下载ffmpeg 和ippicv的包。
        下载地址是在github上, 访问国外网站服务器延迟大
为了加快速度,最好是手动下载下来,修改名称后放到对应文件夹  \.cache 下


具体解决方式参考我的另一篇博客:


ffmpeg包的名称


ippicv包 示例


     现在重新使用cmake进行编译,注意最好选择上Build_opencv_world,这样会生成 opencv_world330.lib 符合官方库的使用方式






三、编译debug/release库


    打开输出文件夹,本次测试的文件夹是/output,VS2013工程名称为penCV.sln。
项目打开如下图所示,首先生成ALL_BUILD ,然后生成INSTALL

如果一切正常,可以在输出文件夹下看到 /install 







四、测试工程效果


  新建一个 win32工程,源码如下
#include<opencv2\opencv.hpp>
using namespace std;
using namespace cv;
int main(int argc, char** argv)
{
    Mat image = imread("1.jpg");
    resize(image, image, Size(500, 500));
    imshow("my image", image);
    waitKey(0);
    return 0;
}


环境配置: 全部是输出文件夹下install子文件夹的内容
  常规--包含目录:    \install\include
 常规--库目录:      \install\x86\vc12\lib
链接器--附加依赖项:   opencv_world330d.lib
还有将DLL拷贝到项目下   opencv_world330d.dll
其中测试图片为1.jpg




猜你喜欢

转载自blog.csdn.net/starelegant/article/details/77839397