一、编译zed-ros-wrapper ,由于TX2通过Jetpack 已经安装了opencv2.4 之后参照https://blog.csdn.net/keith_bb/article/details/52685231 安装了opencv3.1 所以在catkin_make zed-ros-wrapper时出现错误。
二、首先修改ZED-ROS-WRAPPER的CMakeList.txt文件
CMakeList.txt使用的是find_package来链接动态库,find_package会去寻找FindOpenCV.cmake文件、由于我还装了opencv2.4,默认下使用find_package,是使用OpenCV2.4版本的cmake文件。通过用pkg-config来链接动态库。
修改CMakeList中
find_package(OpenCV REQUIRED)
为
find_package(pkgConfig)
pkg_check_modules(OpenCV opencv>=3.1.0)
set(OpenCV_LIBS ${OpenCV_LIBRARIES})
LINK_DIRECTORIES(${OpenCV_LIBDIR})
为了让pkg-config可以找到正确版本的opencv,需要把正确版本的opencv的opencv.pc文件替换原有PKG_CONFIG_PATH路径下,一般opencv.pc位于path/to/opencv/share/
pkg-config-path的路径为/usr/lib/pkgconfig
再次进入catkin 工作空间catkin_make zed-ros-wrapper 可顺利通过。