OpenCVとかPCLのライブラリでバージョン違いを共存させる方法
バージョン違いで保持していたい時の備忘録
(ZEDがopencv3.1.0依存だったので...)
OpenCVもPCLもやり方は同じ
今回はOpenCV-3.1.0とOpenCV-3.2.0の共存です。
それぞれGitで取ってくる(名前は変えておくこと)
gitでopencvのバージョンを3.2から3.1に下げる場合は
git reset --hard 92387b1ef8fad15196dd5f7fb4931444a68bc93a
でリビジョン下げる
cd /home/username/libs cd opencv-3.1.0 mkdir release cd release mkdir installed ccmake ..
cmakeの設定
CMAKE_INSTALL_PREFIX=/home/username/libs/opencv-3.1.0/release/install
opencv3.1.0とcuda8.0の組み合わせの場合、
GraphCut deprecated in CUDA 7.5 and removed in 8.0 by jet47 · Pull Request #6510 · opencv/opencv · GitHub
上記場所を書き換え
cmake. make -j8 make install
opencv-3.2.0でも同じようにする(ソースの書き換えは不要)
次にパスを通す
通常利用はopencv-3.2.0を使って欲しいので.bashrcに3.2を後に書き込んでおく
CV_LIB_PATH=~/libs/opencv-3.1.0/release/installed/lib export PKG_CONFIG_PATH=$CV_LIB_PATH/pkgconfig:$PKG_CONFIG_PATH export LD_LIBRARY_PATH=$CV_LIB_PATH:$LD_LIBRARY_PATH CV_LIB_PATH=~/libs/opencv-3.2.0/release/installed/lib export PKG_CONFIG_PATH=$CV_LIB_PATH/pkgconfig:$PKG_CONFIG_PATH export LD_LIBRARY_PATH=$CV_LIB_PATH:$LD_LIBRARY_PATH
これでまずopencv-3.2.0を見に行って、なければopencv-3.1.0を見に行くようになる。
順番大事。