VisualStudio2013 で OpenCV2.4を導入①
お久しぶりです。
長いこと更新してなかったけどちゃんと生きてます。
2016/6/30 観づらかったので追記。
これからしばらく実験&個人的趣味用にOpenCVの環境を再構築したいと思います。
あくまで私的メモなのでご参考までに。
はじめに
【 想定している環境 】
・ Windows 8.1 64bit
・ MicroSoft VisualStudio2013 Community 無料版の方のやつ
・ OpenCV 2.4.10 (ゆくゆくは3.0にアップグレードしたい)
とりあえずはVisualStudio(以降VS)とOpenCVのダウンロードとインストールですが,
私はもう終わってるので以下のブログなんかを参照してください。
http://unanancyowen.com/?p=97.OPENCVの開発環境の構築
ここまでやったら,
・開発環境のインストール。
・環境変数の設定
まで終わっているはずです。
ここまでやったら
ossyaritoori.hatenablog.com
にあったようなことに気をつければ
Hello worldくらいはもう動かせます。
動かなかったらウイルス対策ソフトをちょっと確認しましょう…
では続きから。
私は32bit版をインスコしてあったので32bit用のプログラム&Debugモードでやっていきます。
やるべきこと
・インクルードフォルダ,リンカの設定
・ライブラリの設定
です。OpenCVは要は外付けの関数群なので,関数の本体がどこにあるか,そいつらの動かし方マニュアル的なファイルの場所とかを
プログラムに教えてあげるプロセスだと思います。(誰かおしえて)
①インクルードフォルダの設定
- プロパティを開くために左にあるプロジェクトの所を右クリック
- プロパティの[全般]->[C/C++]->[Additional Include Directories]
の空欄に[ C:\opencv\build\include; ] と記述。
これはOpenCVをインストールした所からのパスなので人によっていれるところは違います。
②リンカの設定
その1
- プロパティは開いたままで,
[Linker]->[General]->[Additional Library Directories]
をチョイスし,
今度は 『 C:\opencv\build\x86\vc12\lib; 』と記述。
vc12がVS2013のことのようです。紛らわしいね。
libファイルの本体?の場所を教える
次にlibファイルの場所を教えます。
libファイルにはインクルードするファイルを全て教える必要があります。
例えば,プログラム内で
#include
というファイルをインクルードしたい場合,highgui.libをlinkする必要があります。
やり方は2つで,
Case 1
直接書き込む。
[Linker]->[Input]->[Additional Dependencies]
に書き込む。
** 個人メモ
OpenCVの処理結果をsocket通信で送信するので
Ws2_32.lib;も追加で書かなければイケなかった。
Case 2
プロパティシートを作成する。
具体的には以下のファイルを「opencv2410.prop」という名前で保存して
[Project]->[Project名]->[Project名]
の所に起きます。
<?xml version="1.0" encoding="utf-8"?> <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <ImportGroup Label="PropertySheets"/> <!-- Debug|Win32 --> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> </PropertyGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <ClCompile> <AdditionalIncludeDirectories>C:\opencv\build\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> </ClCompile> <Link> <AdditionalLibraryDirectories>C:\opencv\build\x86\vc12\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <AdditionalDependencies>opencv_core2410d.lib;opencv_highgui2410d.lib;opencv_imgproc2410d.lib;opencv_video2410d.lib;opencv_objdetect2410d.lib;opencv_legacy2410d.lib;opencv_calib3d2410d.lib;opencv_contrib2410d.lib;opencv_features2d2410d.lib;opencv_flann2410d.lib;opencv_nonfree2410d.lib;opencv_ml2410d.lib;opencv_gpu2410d.lib;%(AdditionalDependencies)</AdditionalDependencies> </Link> </ItemDefinitionGroup> <!-- Release|Win32 --> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> </PropertyGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> <ClCompile> <AdditionalIncludeDirectories>C:\opencv\build\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> </ClCompile> <Link> <AdditionalLibraryDirectories>C:\opencv\build\x86\vc12\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <AdditionalDependencies>opencv_core2410.lib;opencv_highgui2410.lib;opencv_imgproc2410.lib;opencv_video2410.lib;opencv_objdetect2410.lib;opencv_legacy2410.lib;opencv_calib3d2410.lib;opencv_contrib2410.lib;opencv_features2d2410.lib;opencv_flann2410.lib;opencv_nonfree2410.lib;opencv_ml2410.lib;opencv_gpu2410.lib;%(AdditionalDependencies)</AdditionalDependencies> </Link> </ItemDefinitionGroup> <!-- Debug|x64 --> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> </PropertyGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> <ClCompile> <AdditionalIncludeDirectories>C:\opencv\build\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> </ClCompile> <Link> <AdditionalLibraryDirectories>C:\opencv\build\x64\vc12\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <AdditionalDependencies>opencv_core2410d.lib;opencv_highgui2410d.lib;opencv_imgproc2410d.lib;opencv_video2410d.lib;opencv_objdetect2410d.lib;opencv_legacy2410d.lib;opencv_calib3d2410d.lib;opencv_contrib2410d.lib;opencv_features2d2410d.lib;opencv_flann2410d.lib;opencv_nonfree2410d.lib;opencv_ml2410d.lib;opencv_gpu2410d.lib;%(AdditionalDependencies)</AdditionalDependencies> </Link> </ItemDefinitionGroup> <!-- Release|x64 --> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> </PropertyGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> <ClCompile> <AdditionalIncludeDirectories>C:\opencv\build\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> </ClCompile> <Link> <AdditionalLibraryDirectories>C:\opencv\build\x64\vc12\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <AdditionalDependencies>opencv_core2410.lib;opencv_highgui2410.lib;opencv_imgproc2410.lib;opencv_video2410.lib;opencv_objdetect2410.lib;opencv_legacy2410.lib;opencv_calib3d2410.lib;opencv_contrib2410.lib;opencv_features2d2410.lib;opencv_flann2410.lib;opencv_nonfree2410.lib;opencv_ml2410.lib;opencv_gpu2410.lib;%(AdditionalDependencies)</AdditionalDependencies> </Link> </ItemDefinitionGroup> </Project>
このファイルを関連付けるために左のSolution Explorerの下のPropをクリックし,
右クリックをして既存のプロパティシートを追加。を選択。
ここまでやってようやく環境設定が終了したはず。
次回は実際にプログラムを動かしたいと思います。以上。