zoukankan      html  css  js  c++  java
  • Opencv 完美配置攻略 2014 (Win8.1 + Opencv 2.4.8 + VS 2013)下

    前面说了一些在OpenCV在VS2013下的配置的过程,下面说一下其中的个别的知识点,了解一下这样配置的一点点更细节的过程。其实配置项目属性的时候,有两种方式:


    一、通过项目属性管理器配置项目属性表

    通过Opencv x64 x86 Debug Release 全兼容属性表配置项目

    新建属性表文档opencv248.props,填写下面的xml内容并保存:

    <?xml version="1.0" encoding="utf-8"?>
    <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
      <ImportGroup Label="PropertySheets" />
      <PropertyGroup Label="UserMacros" />
      <PropertyGroup>
            <IncludePath>$(OPENCV)include;$(IncludePath)</IncludePath>
            <LibraryPath Condition="'$(Platform)'=='Win32'">$(OPENCV)x86vc12lib;$(LibraryPath)</LibraryPath>
            <LibraryPath Condition="'$(Platform)'=='X64'">$(OPENCV)x64vc12lib;$(LibraryPath)</LibraryPath>
      </PropertyGroup>
      <ItemDefinitionGroup>
            <Link Condition="'$(Configuration)'=='Debug'">
              <AdditionalDependencies>opencv_calib3d248d.lib;opencv_contrib248d.lib;opencv_core248d.lib;opencv_features2d248d.lib;opencv_flann248d.lib;opencv_gpu248d.lib;opencv_highgui248d.lib;opencv_imgproc248d.lib;opencv_legacy248d.lib;opencv_ml248d.lib;opencv_nonfree248d.lib;opencv_objdetect248d.lib;opencv_ocl248d.lib;opencv_photo248d.lib;opencv_stitching248d.lib;opencv_superres248d.lib;opencv_ts248d.lib;opencv_video248d.lib;opencv_videostab248d.lib;%(AdditionalDependencies)</AdditionalDependencies>
            </Link>
            <Link Condition="'$(Configuration)'=='Release'">
              <AdditionalDependencies>opencv_calib3d248.lib;opencv_contrib248.lib;opencv_core248.lib;opencv_features2d248.lib;opencv_flann248.lib;opencv_gpu248.lib;opencv_highgui248.lib;opencv_imgproc248.lib;opencv_legacy248.lib;opencv_ml248.lib;opencv_nonfree248.lib;opencv_objdetect248.lib;opencv_ocl248.lib;opencv_photo248.lib;opencv_stitching248.lib;opencv_superres248.lib;opencv_ts248.lib;opencv_video248.lib;opencv_videostab248.lib;%(AdditionalDependencies)</AdditionalDependencies>
            </Link>
      </ItemDefinitionGroup>
      <ItemGroup />
    </Project>

    这份属性表为opencv2.4.8的VS工程属性表,兼容64位和32位平台,兼容Debug和Release配置。

    很容易看出如何修改:

    • 如果你没有配置%OPENCV%环境变量,则只需要修改 IncludePathLibraryPath 所指三个标签,用绝对路径代替$(OPENCV)
    • 如果你的Visual Studio版本与我的不同,则需要修改 LibraryPath 所指两个标签的将编译器版本号,VS2010对应vc10,VS2012对应vc11,VS2013对应vc12;
    • 如果你的opencv与我的版本不同,只需要将两个 AdditionalDependencies 标签内的所有lib的版本号修正即可(所有的248改为自己的版本号),并在opencv的lib目录下检查一下lib名称是否对应。

    通过VS界面建立VS项目属性表

    网上一大堆,就不具体说明了。与自己文本编写属性表不同的是,通过界面新建的属性表要为不同的配置单独建立,导入的时候也要针对配置单独导入。

    属性管理器 ->展开 项目名 -> 右键 Debug | Win32 -> 添加新项目属性表

    添加属性表,取名为“opencv248x86.Debug.props”。

    属性管理器 ->展开 Debug | Win32 -> 双击 新建的 opencv248x86.Debug 打开属性页面 -> VC++ 目录

    编辑 包含目录 一栏,添加opencv的include路径,例如我的是 D:Program Filesopencvuildinclude;编辑 库目录 一栏,添加opencv的lib路径,例如我的是 D:Program Filesopencvuildx86vc12lib

    Note:

    将光标移到编辑框会在右边出现小下拉三角,点击小三角,再选择编辑打开路径选择窗口选择对应路径。如果直接粘贴则粘贴在现有内容前面用分号隔开,否则会失去继承性。

    Note:

    库目录 一栏选择opencv的lib路径时,如果工程是64位则选择opencv的x64目录,如果是32位则选择x86。Visual Studio的版本与编译器版本号的对应关系是:VS2010 -> vc10, VS2012 -> vc11, VS2013 -> vc12,选择目录的时候注意自己的VS工程版本。

    在属性页面 -> 链接器 -> 输入 -> 附加依赖项 -> 编辑。添加下面的lib列表:

    opencv_calib3d248d.lib
    opencv_contrib248d.lib
    opencv_core248d.lib
    opencv_features2d248d.lib
    opencv_flann248d.lib
    opencv_gpu248d.lib
    opencv_highgui248d.lib
    opencv_imgproc248d.lib
    opencv_legacy248d.lib
    opencv_ml248d.lib
    opencv_nonfree248d.lib
    opencv_objdetect248d.lib
    opencv_ocl248d.lib
    opencv_photo248d.lib
    opencv_stitching248d.lib
    opencv_superres248d.lib
    opencv_ts248d.lib
    opencv_video248d.lib
    opencv_videostab248d.lib

    确定两次后完成Debug版本的属性表编辑。

    同样依照上面的步骤编写Release版本的属性表,唯一不同的是在“附加依赖项”中填入的是Release版本的lib列表:

    opencv_calib3d248.lib
    opencv_contrib248.lib
    opencv_core248.lib
    opencv_features2d248.lib
    opencv_flann248.lib
    opencv_gpu248.lib
    opencv_highgui248.lib
    opencv_imgproc248.lib
    opencv_legacy248.lib
    opencv_ml248.lib
    opencv_nonfree248.lib
    opencv_objdetect248.lib
    opencv_ocl248.lib
    opencv_photo248.lib
    opencv_stitching248.lib
    opencv_superres248.lib
    opencv_ts248.lib
    opencv_video248.lib
    opencv_videostab248.lib

    Tip:

    *d.lib的是Debug版本lib,*.lib的是Release版本lib。

    二、直接在项目上设置项目的属性

    首要要添加环境变量,这里就不说了。

    新建VS项目,配置项目属性。接下来就是添加包含目录:

    D:Program Filesopencvuildinclude

    如果只包含该目录,代码文件中包含头文件注意路径即可,如

    #include <opencv2/opencv.hpp>

    当然你还可以包含以下两个目录

    D:Program Filesopencvuildincludeopencv

    D:Program Filesopencvuildincludeopencv2

    2) 添加库目录

    D:Program Filesopencvuildx86vc11lib

    3) 添加链接器的附加依赖项

    opencv_core244d.lib
    opencv_imgproc244d.lib
    opencv_highgui244d.lib
    opencv_ml244d.lib
    opencv_video244d.lib
    opencv_features2d244d.lib
    opencv_calib3d244d.lib
    opencv_objdetect244d.lib
    opencv_contrib244d.lib
    opencv_legacy244d.lib
    opencv_flann244d.lib

    注意:244代表是OpenCV 2.4.4版本,刚去看了下,现在最新版本是2.4.5,根据自己的版本相应调整。

    添加完需要用的.lib库文件之后,最好去相应的目录下去检查一下是否添加的这些文件都存在。

  • 相关阅读:
    P1121 环状最大两段子段和
    无题
    cdoj 1485 柱爷搞子串 sam treap
    自然数幂和
    Gym 100341C AVL Trees NTT
    线性筛分解质因子
    codeforces 366 Ant Man dp
    UVALive 6914 Maze Mayhem 轮廓线dp
    hdu 5790 Prefix 字典树 主席树
    莫比乌斯反演个人小结
  • 原文地址:https://www.cnblogs.com/stemon/p/4505385.html
Copyright © 2011-2022 走看看