vs2013vs更改属性表永久解决opencv的库加载问题

1. 打开如下目录:C:\Users\username(Administrator)\AppData\Local\Microsoft\MSBuild\v4.0  (其中uername是你管理员用户的名称),在其中新建两个配置文件,名字可以自己取,文件属性为.props,这两个配置文件分别为debug和release的配置文件,下面介绍这两个文件的配置区别。

打开这两个文件,分别添加如下内容

debug.props文件:

<?xml version="1.0" encoding="utf-8"?> 
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <IncludePath>D:\opencv\opencv\build\include\opencv2;D:\opencv\opencv\build\include\opencv;D:\opencv\opencv\build\include;$(IncludePath)</IncludePath><!--这里面的三个路径分别是build内opencv2,opencv和include的路径,根据自己的情况更改 -->
  </PropertyGroup>
  <PropertyGroup>
    <LibraryPath>D:\opencv\opencv\build\x64\vc12\lib;$(LibraryPath)</LibraryPath><!--这是添加安装的vc的lib,需要说明的是build文件夹下有x86和x64,每个文件夹下有不同的vc版本,选择的时候根据自己的vs版本和需要使用的编译器版本,vc10对应vs2010,vc11对应vs2012,vs12对应2013 -->
  </PropertyGroup>
<ItemDefinitionGroup>
    <Link>
      <AdditionalDependencies>opencv_calib3d2413d.lib;opencv_contrib2413d.lib;opencv_core2413d.lib;opencv_features2d2413d.lib;opencv_flann2413d.lib;opencv_gpu2413d.lib;opencv_highgui2413d.lib;
      opencv_imgproc2413d.lib;opencv_legacy2413d.lib;opencv_ml2413d.lib;opencv_nonfree2413d.lib;opencv_objdetect2413d.lib;opencv_ocl2413d.lib;opencv_photo2413d.lib;opencv_stitching2413d.lib;opencv_superres2413d.lib;opencv_ts2413d.lib;opencv_video2413d.lib;opencv_videostab2413d.lib;%(AdditionalDependencies)</AdditionalDependencies>
    </Link><!--这里面添加的库对应着上文添加的vc的lib文件夹里面的文件,根据安装的版本进行修改,需要注意的是只能添加文件结尾带d的,代表的是debug库,添加错误可能导致后续文件的编译错误 -->
  </ItemDefinitionGroup>
</Project>

 release.props文件

<?xml version="1.0" encoding="utf-8"?> 
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <IncludePath>D:\opencv\opencv\build\include\opencv2;D:\opencv\opencv\build\include\opencv;D:\opencv\opencv\build\include;$(IncludePath)</IncludePath>
  </PropertyGroup>
  <PropertyGroup>
    <LibraryPath>D:\opencv\opencv\build\x64\vc12\lib;$(LibraryPath)</LibraryPath>
  </PropertyGroup>
<ItemDefinitionGroup>
    <Link>
      <AdditionalDependencies>opencv_calib3d2413.lib;opencv_contrib2413.lib;opencv_core2413.lib;opencv_features2d2413.lib;opencv_flann2413.lib;opencv_gpu2413.lib;opencv_highgui2413.lib;opencv_imgproc2413.lib;opencv_legacy2413.lib;opencv_ml2413.lib;opencv_nonfree2413.lib;opencv_objdetect2413.lib;opencv_ocl2413.lib;opencv_photo2413.lib;opencv_stitching2413.lib;opencv_superres2413.lib;opencv_ts2413.lib;opencv_video2413.lib;opencv_videostab2413.lib;%(AdditionalDependencies)</AdditionalDependencies>
    </Link><!--这里面添加的是vc的lib文件夹的不带d的库文件,代表的是release库文件 -->
  </ItemDefinitionGroup>
</Project>

 2. 保存好两个文件后,打开vs2013,新建项目,打开属性管理器,默认是win32的编译器,在64位机上运行opencv项目时会出错,无法编译。需要更换为64位编译器,在配置管理器内进行更改

更改完成后删除win32。

3. 选择debug属性右键,添加现有属性表,将上文建的debug.props文件添加进去,然后删除Microsoft.Cpp.x64.user.props文件即可。 对release也执行相同操作,

 此时即可进行opencv项目开发了。

在每次新建项目时,都需执行步骤3

 

posted @ 2016-12-06 21:50  boguny  阅读(2163)  评论(0编辑  收藏  举报