OpenCV 3.3をWindows PCで動かしてみた。
まず、バイナリのパッケージをダウンロードする。
実行ファイル(.exe)を実行すると、フォルダを指定して必要なファイルが展開(解凍)される。
フォルダ内には、sourcesフォルダとbuildフォルダという2つのサブフォルダがあり、後者はサンプルのソースコードが入っていて、後者にはライブラリのバイナリが入っている。
sources/samples/cpp/example_cmake/example.cppというサンプルコードを動かしてみる。
cmakeは特に使わないで、make用のMakefileを書いた。
作業フォルダにexample.cppをコピーする。
次のようなMakefile.txtというファイルを作った。
TARGET = example.exe OBJS = example.obj LIBS = kernel32.lib user32.lib gdi32.lib shell32.lib advapi32.lib ole32.lib oleaut32.lib \ comdlg32.lib comctl32.lib vfw32.lib CVLIBS = opencv_world330.lib CFLAGS = /c /EHsc /I.\\ LFLAGS = /out:$(TARGET) all : $(TARGET) $(TARGET): $(OBJS) link $(LFLAGS) $(OBJS) $(LIBS) $(CVLIBS) .cpp.obj: cl $(CFLAGS) $< clean: del *.obj *.pdb $(TARGET).pdb $(TARGET).exe
ライブラリと必要なヘッダファイルの置き場所は、example.cppと同じ場所に指定した。
(違う場所にする場合、CVLIBSとCFLAGSを修正すること)
ライブラリの.libファイルと.dllファイルをコピーする。
場所は、build/x64/vc14/bin/と、build/x64/vc14/lib/にある。
なので、build/x64/vc14/bin/opencv_world330.dllとbuild/x64/vc14/lib/opencv_world330.libを、example.cppと同じフォルダにコピーした。
あと、openCVを使うのに必要なヘッダファイルもコピーした。
(コピーするのは容量の無駄なのだけど、とりあえず気にしない。)
場所は、build/include/にある。
build/include/opencv/と、build/include/opencv2/のフォルダごと全部コピーする。
あとは、コンパイルするだけだが、それに必要な手順をbuild_vc14_64bit.baというのバッチファイルに書いた。
@echo off echo set environment for VC++ 2015 (VC14.0) call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x64 echo building... nmake -f Makefile.txt del *.obj *.pdb
このbuild_vc14_64bit.batを実行すると、問題がなければexample.cppがコンパイルされて、example.exeが生成される。