1. catkin_make
catkin_make是第一个构建catkin工作区的脚本,因此在许多教程中使用。它有几个缺点(需要包中的非标准逻辑来声明跨包目标依赖关系)和限制(不能处理普通的CMake包,要求工作区中所有包中的所有目标都是唯一的)。因此,我不建议使用它。
2. catkin_make_isolated
catkin_make_isolated是接下来开发的脚本,它解决了所有这些缺点。它的代价是速度较慢,因为它按顺序处理所有包。它正在build.ros.org的开发和PR工作中使用。如果您想要最可靠的解决方案(仅适用于ROS 1),我建议您使用它。
3. catkin_tools
catkin_tools(上面称为catkin build)类似于catkin_make_isolated,但通过在可能的情况下并行处理包来解决性能限制。它还具有许多可用性特性,使其更易于使用和配置。缺点是,过去几年没有积极维护该工具,因此我也不推荐它。
4.colcon
colcon是为ROS 2开发的新构建工具,与catkin_tools类似,但目前可用性功能较少,但能够在所有主要平台(Linux、macOS、Windows)上构建任何类型的软件包(catkin、ament、CMake、Python setuptools、gradle、bazel、cargo等)。虽然是为ROS 2开发的,但原则上也适用于ROS 1。如果您愿意使用更前沿的产品(可能会出现尚未解决/完善的奇怪问题),这可能是一个选项。最大的优势是该工具非常模块化,并且由多方积极开发和扩展。
既然您正在为VSCode编写扩展,我认为colcon是最佳选择-为什么?
它是唯一积极维护的工具。如果你想贡献,你的补丁很可能会被及时审查、合并和发布。
它是高度模块化和可配置的,这将允许您提供其他工具难以实现的各种选项。
您的扩展将支持ROS 1和ROS 2。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)