ROS(ROS2)- まとめて作成 - 2回目以降
- 1. 概要
- 2. ビルド
1. 概要
前ページまでで、一応、ひと通り、サービスのインタフェースとプログラムを作成できたのですが。
インタフェースの定義を変更したときに、メモしたいことがあったので・・・。
2. ビルド
インタフェースを変更したので、ビルドしようと・・・。
cd ~/hogehoge_ws
colcon build --packages-select my_interfaces
すると。
[2.099s] WARNING:colcon.colcon_core.package_selection:Some selected packages are already built in one or more underlay workspaces:
'my_interfaces' is in: /home/hogehoge/hogehoge_ws/install/my_interfaces
If a package in a merged underlay workspace is overridden and it installs headers, then all packages in the overlay must sort their include directories by workspace order. Failure to do so may result in build failures or undefined behavior at run time.
If the overridden package is used by another package in any underlay, then the overriding package in the overlay must be API and ABI compatible or undefined behavior at run time may occur.
If you understand the risks and want to override a package anyways, add the following to the command line:
--allow-overriding my_interfaces
This may be promoted to an error in a future release of colcon-override-check.
Starting >>> my_interfaces
[Processing: my_interfaces]
[Processing: my_interfaces]
Finished <<< my_interfaces [1min 25s]
Summary: 1 package finished [1min 26s]
既にインタフェースのパッケージが存在する場合、「--packages-select」でなく、「--allow-overriding」というオプションを使え、ということのようです。
言われたとおりにやってみます。
colcon build --allow-overriding my_interfaces
すると。
Starting >>> my_interfaces
[Processing: my_interfaces]
Finished <<< my_interfaces [42.5s]
Starting >>> my_service
Finished <<< my_service [25.3s]
Summary: 2 packages finished [1min 9s]
ワーニングが出なくなったのと。
「my_service」が、「my_interfaces」に依存しているためか、「my_service」の方も、同時にビルドされるようです。
|
|