我创建了一个可以通过cmake构建的qt应用程序。我的应用程序使用了一些ros2服务,因此我需要使用ros构建它。为此,我需要将代码放在ros2_ws / src /下。我想避免这个事情。我想使用ament工具从任何文件夹(不放在ros2_wc下)通过应用程序进行构建。我该怎么办?
答案 0 :(得分:0)
如果要这样做,则需要照常构建ROS2,并提供以下脚本:
. install/local_setup.bash
然后,您可以使用所需目录中的ament来调用构建命令。
cd <dir>
ament build --force-cmake-configure ...
答案 1 :(得分:0)
您可以保留自己的〜/ 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将找到您的索引包并将其添加到您的依赖项中。