opencvを入れるときにlibやらdllやらdylibやら,毎回忘れたり説明するのがややこしくてたまらないのでメモを残す.
-
ヘッダーファイル(.h)
関数定義されているファイル.ビルドするときにわかっている必要があるので,追加のインクルードディレクトリにヘッダファイルのフォルダ(opencv2フォルダがみえるところ)を指定しておく.MacではHeader search pathに指定する. -
ライブラリファイル(.lib)
OpenCVを使う上ではリンク用のファイル.Windows環境でビルドするときに,使っている関数がどのdllファイルにあるのかを示してくれる.ビルドするときにlibファイルの場所とどれを使うかはわかっている必要があるので,visual studioでは追加のライブラリディレクトリとしてライブラリの入っている場所を指定し,追加の依存ファイルに使うライブラリを追加しておく.pragmaを使う方法もある. -
ダイナミックリンクライブラリ(.dll)
Windows環境でプログラムを走らせる場合,このdllファイルにopencvの機能が入っているので,exe単体では動かない(静的リンクという動かす方法もあるが,ファイルサイズが大きくなる).よって実行時に場所がわかっている必要があるので,環境変数にdllファイルが有る場所を指定するのが一般的.一応実行ファイルと同じフォルダにdllを置いても動く. -
Macでのダイナミックリンクライブラリ(.dylib)
libファイルの役割も兼ねている感じがする.Xcodeではビルド時にLibrary search pathにこのファイルを含むフォルダが指定され,さらにLink Binary with Librariesに使うライブラリが登録されていないといけない.