Eclipseは、面倒だった。
ヘッダファイルの位置とライブラリファイルの位置をコンパイラに知らせる
C/C++のコンパイルで特別なライブラリを使う時(特別でもなくよくあることだが)、ヘッダファイル(テキストファイル)とライブラリ(バイナリファイル)の設定が必要だ。
OpenCV1.0の場合は、ヘッダファイルの位置は以下。
C:\Program Files\OpenCV\cv\include
C:\Program Files\OpenCV\cvaux\include
C:\Program Files\OpenCV\cxcore\include
C:\Program Files\OpenCV\otherlibs\highgui
統合開発環境のVisualStudio2008のC++のオプション-インクルードファイルの設定画面
ライブラリファイル。具体的には*.libファイルのパスの指定は以下。
C:\Program Files\OpenCV\lib
統合開発環境のVisualStudio2008のC++のオプション-ライブラリファイルの設定画面
新規プロジェクト
プロジェクト名がkaraなのでkara.cppがあるはず。
kara.cppファイルの以下のmain()関数らしきものを削除し、opencvのサンプルをそのまま貼り付ける。
int _tmain(int argc, _TCHAR* argv[])
{
return 0;
}
ヘッダファイルのstdafx.hの下にライブラリファイル名を追加
// TODO: プログラムに必要な追加ヘッダーをここで参照してください。
#pragma comment(lib,"cv.lib")
#pragma comment(lib,"cxcore.lib")
#pragma comment(lib,"cvaux.lib")
#pragma comment(lib,"highgui.lib")
本来なら、プロジェクトごとのプロジェクトプロパティのリンカのコマンドラインオプションに追加以下を追加しないといけない。
cv.lib cxcore.li cvaux.lib highgui.lib
これは面倒なのでソースコードに#pragmaで設定する。#pragmaは特別なオプションだ。リンカにライブラリファイル名を指定できるっていうこと。
何がうれしい いいことあるの?
統合開発環境は、includeしたファイルを呼び込み、関数名やincludeファイルを書くときに入力を補完してくれる。ここでは、#include<cv.h>としているのでCvCaptureと補完している。
少し先頭を入力したらctrl+spaceをおす。
(何も入れなくてもctrl+spaceをおす)
「今日の訪問数: - 」
「昨日の訪問数: - 」
「今までの訪問数: - 」
最終更新:2010年02月07日 19:52