OpenCV的多版本会影响ROS package的编译。
解决方案:自行编译的OpenCV安装到自定义路径,并在CMake工程中声明该路径。
操作步骤:
# Build
$ cd OPENCV_SRC
$ mkdir build
$ cd build
$ mkdir installed
$ cmake -DCMAKE_INSTALL_PREFIX=OPENCV_SRC/build/installed -DCMAKE_BUILD_TYPE="Rlease" ..
$ make -j2
# Install
$ make install
# Link in CMakeLists.txt
set(CMAKE_PREFIX_PATH "OPENCV_SRC/build/installed/")
FIND_PACKAGE(OpenCV REQUIRED)
这里的核心思想是自定义安装路径,同时,在CMakeLists文件中设置CMAKE_PREFIX_PATH 为自定义的安装路径,在此基础上再find_package。
参考资料:
http://blog.csdn.net/heyijia0327/article/details/54575245
http://blog.csdn.net/heroacool/article/details/51055322
http://code.litomisky.com/2014/03/09/how-to-have-multiple-versions-of-the-same-library-side-by-side/