win7 64位下VS2010和opencv 2.4.11的配置

先貼上參考文獻:
1. http://my.phirobot.com/blog/2014-02-opencv_configuration_in_vs.html
2. http://blog.csdn.net/morewindows/article/details/8225783/
3. http://zhidao.baidu.com/link?url=-5zunOvY_oPN4O5UpYHQm1GGpI7Y-CJBN-2C2VnZYAgQsmNBzTXU7JycgSACaV3Z8Ru5OaVdeucfxdW0WcbJlK
4. http://bbs.csdn.net/topics/380057699
正文
Opencv下載
1. 下載 Opencv for Windows 最新版本,本文是 Opencv 2.4.11。雙擊後會出現解壓提示,實際上就是“安裝”了,路徑填寫爲 D:/Program Files,然後確定。
D:/Program Files 可以爲任意自己希望opencv安裝的路徑,解壓完成後,會在你所填目錄中新增一個 opencv文件夾,裏面就是opencv的所有內容了。例如按照我的路徑,解壓完成後Opencv就在 D:/Program Files/opencv 裏面了。
環境變量設置
在系統變量裏面新建變量,名爲 opencv,值爲自己解壓opencv路徑下的build路徑,如 D:\Program Files\opencv\build。
這裏寫圖片描述
Tip :這一步是方便以後如果opencv路徑改變了,只需要修改此變量就可以了,而不必做大範圍修改。
在系統變量裏面編輯 Path 變量,在末尾添加” %opencv%\x86\vc10\bin;%opencv%\x64\vc10\bin”或者
“D:\Program Files\opencv\build\x64\vc10\bin;D:\Program Files\opencv\build\x86\vc10\bin”.
vc10, vc11, vc12 分別表示VS2010, VS2012, VS2013的Visual Studio使用的編譯器版本,根據自己的VS版本來填寫正確的編譯器版本號。(有時候填寫完環境變量後重啓系統是個不錯的方法)。
編寫Opencv的VS工程容屬性表
在D:\Program Files\opencv下新建文件opencv2411.props,編輯內容爲

<?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)\x86\vc10\lib;$(LibraryPath)</LibraryPath>
        <LibraryPath Condition="'$(Platform)'=='X64'">$(OPENCV)\x64\vc10\lib;$(LibraryPath)</LibraryPath>
  </PropertyGroup>
  <ItemDefinitionGroup>
        <Link Condition="'$(Configuration)'=='Debug'">
          <AdditionalDependencies>opencv_calib3d2411d.lib;opencv_contrib2411d.lib;opencv_core2411d.lib;
          opencv_features2d2411d.lib;opencv_flann2411d.lib;opencv_gpu2411d.lib;opencv_highgui2411d.lib;
          opencv_imgproc2411d.lib;opencv_legacy2411d.lib;opencv_ml2411d.lib;opencv_nonfree2411d.lib;
          opencv_objdetect2411d.lib;opencv_ocl2411d.lib;opencv_photo2411d.lib;opencv_stitching2411d.lib;
          opencv_superres2411d.lib;opencv_ts2411d.lib;opencv_video2411d.lib;opencv_videostab2411d.lib;
          %(AdditionalDependencies)
          </AdditionalDependencies>
        </Link>
        <Link Condition="'$(Configuration)'=='Release'">
          <AdditionalDependencies>opencv_calib3d2411.lib;opencv_contrib2411.lib;opencv_core2411.lib;opencv_features2d2411.lib;
          opencv_flann2411.lib;opencv_gpu2411.lib;opencv_highgui2411.lib;opencv_imgproc2411.lib;opencv_legacy2411.lib;
          opencv_ml2411.lib;opencv_nonfree2411.lib;opencv_objdetect2411.lib;opencv_ocl2411.lib;opencv_photo2411.lib;
          opencv_stitching2411.lib;opencv_superres2411.lib;opencv_ts2411.lib;opencv_video2411.lib;opencv_videostab2411.lib;
          %(AdditionalDependencies)
          </AdditionalDependencies>
        </Link>
  </ItemDefinitionGroup>
  <ItemGroup />
</Project>

這份屬性表爲opencv2.4.11的VS工程屬性表,兼容64位和32位平臺,兼容Debug和Release配置。

很容易看出如何修改:

如果你沒有配置%opencv%環境變量,則只需要修改 IncludePath 和 LibraryPath 所指三個標籤,用絕對路徑代替 $(opencv);
如果你的Visual Studio版本與我的不同,則需要修改 LibraryPath 所指兩個標籤的將編譯器版本號,VS2010對應vc10,VS2012對應vc11,VS2013對應vc12;
如果你的opencv與我的版本不同,只需要將兩個 AdditionalDependencies 標籤內的所有lib的版本號修正即可(所有的2411改爲自己的版本號),並在opencv的lib目錄下檢查一下lib名稱是否對應。
在VS中新建工程並導入我們新建的屬性表opencv2411.props
具體操作請參考
Opencv 完美配置攻略 2014 (Win8.1 + Opencv 2.4.8 + VS 2013) | Yuanbo She
http://my.phirobot.com/blog/2014-02-opencv_configuration_in_vs.html
補充
編譯程序時如若遇到以下問題,請參閱本文開始的參考文獻中的相關鏈接
1. 應用程序無法正常啓動0xc000007b
2. fatal error LNK1123: 轉換到 COFF 期間失敗: 文件無效或損壞

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章