在编译OpenVINS最新版本程序时,工程中package.xml采用了更新版本实现依赖关系
- <?xml version="1.0"?>
- <package format="3">
- <!-- Package Information -->
- <name>ov_msckf</name>
- <version>2.6.0</version>
- <description>
- Implementation of a type-based error-state Kalman filter.
- </description>
- <url type="website">https://docs.openvins.com/</url>
- <url type="bugtracker">https://github.com/rpng/open_vins/issues</url>
- <url type="repository">https://github.com/rpng/open_vins</url>
-
- <!-- Code Authors -->
- <author email="pgeneva@udel.edu">Patrick Geneva</author>
- <author email="keck@udel.edu">Kevin Eckenhoff</author>
- <author email="ghuang@udel.edu">Guoquan Huang</author>
- <maintainer email="pgeneva@udel.edu">Patrick Geneva</maintainer>
-
- <!-- Licensing -->
- <license>GNU General Public License v3.0</license>
-
- <!-- ROS1: Dependencies needed to compile this package. -->
- <buildtool_depend condition="$ROS_VERSION == 1">catkin</buildtool_depend>
- <depend condition="$ROS_VERSION == 1">cmake_modules</depend>
- <depend condition="$ROS_VERSION == 1">roscpp</depend>
- <depend condition="$ROS_VERSION == 1">rosbag</depend>
- <depend condition="$ROS_VERSION == 1">tf</depend>
- <depend condition="$ROS_VERSION == 1">std_msgs</depend>
- <depend condition="$ROS_VERSION == 1">sensor_msgs</depend>
- <depend condition="$ROS_VERSION == 1">geometry_msgs</depend>
- <depend condition="$ROS_VERSION == 1">nav_msgs</depend>
- <depend condition="$ROS_VERSION == 1">visualization_msgs</depend>
- <depend condition="$ROS_VERSION == 1">image_transport</depend>
- <depend condition="$ROS_VERSION == 1">cv_bridge</depend>
- <depend condition="$ROS_VERSION == 1">ov_core</depend>
- <depend condition="$ROS_VERSION == 1">ov_init</depend>
-
详见ROS文档
既不是package format="1"页不是package format="2",OpenVINS用的package format="3",但是编译时候,tag中不能含有condition="$ROS_VERSION == 1",删除这个判断ROS版本的语句就行了,改后版本是<depend>ov_init</depend>