VS2010下Opencv的配置

在本文开头,我感谢opencv中文论坛中帖子——“VS2010下解决每次都需要配置的问题”对我的引导和启发,本文是基于该文章的理解、实践与总结。该贴链接如下:

http://www.opencv.org.cn/forum.php?mod=viewthread&tid=15682

该贴提出,自版本2.1之后,opencv把CV库拆成很多库。这就增加了每次建工程添加依赖项工作量。传统的添加依赖项的设置方法:
         方法1:
         在Linker->input->AdditionalDependencies中添加 opencv_contrib2410.lib等
         方法2:
         在代码中添加 #pragma comment(lib," opencv_contrib2410.lib")
         上面两种方法,每次重建工程都得添加,做项目还好,要是新手学习,每次都添加,就显得很麻烦了?

 

         参考该贴在电脑上做出如下修改后能实现一次修改,永久管用”。该方法分为两步:

一:includelib路径设置

         首先:打开C:\Users\*****\AppData\Local\Microsoft\MSBuild\v4.0下的Microsoft.Cpp.Win32.user.props(如使用Notepad++)

         该文件内容如下:

<?xmlversion="1.0" encoding="utf-8"?>

<ProjectDefaultTargets="Build" ToolsVersion="4.0"xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

  <PropertyGroup>

    <ExecutablePath>$(ExecutablePath)</ExecutablePath>

   <IncludePath>$(IncludePath)</IncludePath>

   <ReferencePath>$(ReferencePath)</ReferencePath>

   <LibraryPath>$(LibraryPath)</LibraryPath>

   <SourcePath>$(SourcePath)</SourcePath>

   <ExcludePath>$(ExcludePath)</ExcludePath>

  </PropertyGroup>

</Project>

         其次,对该文件作如下修改。即在<IncludePath>与$(IncludePath)</IncludePath>中间添加安装目录下的include路径,在<LibraryPath>与$(LibraryPath)</LibraryPath>中间添加安装目录下的lib路径

<?xmlversion="1.0" encoding="utf-8"?>

<ProjectDefaultTargets="Build" ToolsVersion="4.0"xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

  <PropertyGroup>

   <ExecutablePath>$(ExecutablePath)</ExecutablePath>

    <IncludePath>D:\ProgramFiles\opencv\opencv\build\include;\Include;D:\ProgramFiles\opencv\opencv\build\include\opencv;D:\ProgramFiles\opencv\opencv\build\include\opencv2;$(IncludePath)</IncludePath>

   <ReferencePath>;$(ReferencePath)</ReferencePath>

    <LibraryPath>D:\Program Files\opencv\opencv\build\x86\vc10\lib;$(LibraryPath)</LibraryPath>

    <SourcePath>$(SourcePath)</SourcePath>

   <ExcludePath>$(ExcludePath)</ExcludePath>

  </PropertyGroup>

</Project>

二、链接库的设置

         首先:打开D:\ProgramFiles\Microsoft Visual Studio 10.0\VC\VCWizards\2052

下common.js(如使用Notepad++),定位到该文件中的函数function     AddCommonConfig
该函数里面两次出现如下代码

var LinkTool =config.Tools(&quot;VCLinkerTool&quot;);

               if (!bForEmptyProject) LinkTool.SubSystem =subSystemWindows;

               LinkTool.GenerateDebugInformation = true;

一次出现是debug版本,一次出现是release版本。

         然后,在两处代码处作如下修改,便能添加默认的依赖项。即在LinkTool定义之后使用LinkTool.AdditionalDependencies函数添加各个lib

1)Debug版本处

var LinkTool =config.Tools("VCLinkerTool");

                  LinkTool.AdditionalDependencies= "opencv_contrib2410d.lib opencv_core2410d.lib opencv_features2d2410d.libopencv_flann2410d.lib opencv_gpu2410d.lib opencv_highgui2410d.libopencv_imgproc2410d.lib opencv_legacy2410d.lib opencv_ml2410d.libopencv_nonfree2410d.lib opencv_objdetect2410d.lib opencv_ocl2410d.libopencv_photo2410d.lib opencv_stitching2410d.lib opencv_superres2410d.libopencv_ts2410d.lib opencv_video2410d.lib opencv_videostab2410d.lib";

                  if(!bForEmptyProject) LinkTool.SubSystem = subSystemWindows;

                  LinkTool.GenerateDebugInformation= true;

  2)Release版本处 

LinkTool= config.Tools("VCLinkerTool");

                  LinkTool.AdditionalDependencies ="opencv_contrib2410.lib opencv_core2410.lib opencv_features2d2410.libopencv_flann2410.lib opencv_gpu2410.lib opencv_highgui2410.libopencv_imgproc2410.lib opencv_legacy2410.lib opencv_ml2410.libopencv_nonfree2410.lib opencv_objdetect2410.lib opencv_ocl2410.libopencv_photo2410.lib opencv_stitching2410.lib opencv_superres2410.libopencv_ts2410.lib opencv_video2410.libopencv_videostab2410.lib";

                  if (!bForEmptyProject)LinkTool.SubSystem = subSystemWindows;

                  LinkTool.GenerateDebugInformation= true;

综上,完成设置,可以使用例程进行测试

猜你喜欢

转载自blog.csdn.net/MissCoder/article/details/50810248