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