1) 前準備 #1
Cygwinのsetup.exeで必要なパッケージをインストールしておく.
通常は,以下のものと,それらが依存するライブラリなどが必要でしょう.
"unzip" "cmake" "gcc-g++" "make" "patch" "libIlmImf-devel" "libjasper-devel" "libjpeg-devel" "libpng-devel" "libtiff-devel" "libbz2-devel" "zlib-devel"
2) 前準備 #2 (推奨)
ffmpegをビルドする.
for example:
$ cd /tmp/ $ tar xvjf ffmpeg-2.8.tar.bz2 $ cd ffmpeg-2.8/ $ ./configure --disable-yasm --disable-iconv --enable-avresample $ make -j 4
3) 前準備 #3 (OpenCVのviz moduleが不要ならばスキップして良い)
VTKをビルドする.具体的な手順はこちらの手順を参照.
作業ディレクトリ(例:/tmp/vtk_build/)をそのまま使えるので,VTKの"インストール"は必須ではない.
その場合,VTKは"静的ライブラリ(static library)"としてビルドすることが推奨.
4) パッチ適用
opencv-2.4.12.2.tar.gzを入手し,私のCygwin用パッチを適用する.
for example:
$ cd /tmp/ $ tar xvzf opencv-2.4.12.2.tar.gz $ gunzip opencv-2.4.12.2-cygwin-patch-20150921.txt.gz $ cd opencv-2.4.12.2/ $ patch -p1 < ../opencv-2.4.12.2-cygwin-patch-20150921.txt
5) ビルド,インストール
for example:
$ mkdir build_shared_release/
$ cd build_shared_release/
$ cmake -Wno-dev \
-D CMAKE_LEGACY_CYGWIN_WIN32=0 \
-D CMAKE_BUILD_TYPE=RELEASE \
-D BUILD_SHARED_LIBS:BOOL=TRUE \
-D WITH_IPP:BOOL=FALSE \
-D WITH_OPENMP:BOOL=TRUE \
-D WITH_OPENGL:BOOL=TRUE \
-D ENABLE_FAST_MATH:BOOL=TRUE \
-D ENABLE_SSE:BOOL=TRUE \
-D ENABLE_SSE2:BOOL=TRUE \
-D ENABLE_AVX:BOOL=TRUE \
-D ENABLE_AVX2:BOOL=TRUE \
-D BUILD_TESTS:BOOL=FALSE \
-D BUILD_PERF_TESTS:BOOL=FALSE \
-D BUILD_EXAMPLES:BOOL=FALSE \
-D CYGWIN_FFMPEG_BUILT_DIR=/tmp/ffmpeg-2.8/ \
-D WITH_VTK:BOOL=TRUE \
-D VTK_DIR=/tmp/vtk_static_release/ \
-D CMAKE_INSTALL_PREFIX=/usr/local/opencv-2.4.12.2/ \
/tmp/opencv-2.4.12.2/
$ make -j 4 install