如何从工作区外部构建基于ROS2的应用程序

时间:2018-09-04 10:49:51

标签: cmake ros ros2

我创建了一个可以通过cmake构建的qt应用程序。我的应用程序使用了一些ros2服务,因此我需要使用ros构建它。为此,我需要将代码放在ros2_ws / src /下。我想避免这个事情。我想使用ament工具从任何文件夹(不放在ros2_wc下)通过应用程序进行构建。我该怎么办?

2 个答案:

答案 0 :(得分:0)

如果要这样做,则需要照常构建ROS2,并提供以下脚本:

. install/local_setup.bash

然后,您可以使用所需目录中的ament来调用构建命令。

cd <dir>
ament build --force-cmake-configure ...

答案 1 :(得分:0)

对于那些使用新的ros2构建工具的人:colcon

您可以保留自己的〜/ ros2_ws ,然后将QT应用程序放置到另一个~/ros2_overlay_ws

例如,如果您的新QT应用程序依赖原始~/ros2_ws中的某些服务或消息,则可以转到~/ros2_ws并运行colcon build。 编译完成后,请记住通过以下命令导入软件包并为它们重新编制索引:source ~/ros2_ws/install/setup.bash。这将在当前终端为ros2软件包重新编制索引。

现在转到~/ros2_overlay_ws/,并将您的QT应用程序放入~/ros2_overlay_ws/src,然后运行colcon build。 colcon将找到您的索引包并将其添加到您的依赖项中。