Как создать приложение на основе ROS2 вне рабочей области - PullRequest
0 голосов
/ 04 сентября 2018

Я создал приложение qt, которое можно собрать с помощью cmake. Мое приложение использует какой-то сервис ros2, поэтому мне нужно собрать его с помощью ros. Для этого мне нужно поместить мой код в ros2_ws / src /. Я хочу избежать этой вещи. Я хочу собрать приложение из любой папки (без помещения в ros2_wc) с помощью инструмента ament. Как я могу это сделать?

Ответы [ 2 ]

0 голосов
/ 17 марта 2019

Для тех, кто использует новый инструмент сборки 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 найдет ваш проиндексированный пакет и добавит их в вашу зависимость.

0 голосов
/ 05 сентября 2018

Если вы хотите это сделать, вам нужно собрать ROS2 как обычно и создать следующий скрипт:

. install/local_setup.bash

Затем вы можете вызвать команду сборки, используя ament, из нужного вам каталога.

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