安装 colcon : sudo apt install python3-colcon-common-extensions
。 ROS2的build没有了ROS1中的devel概念
colcon build 编译所有包
colcon build —packages-select pkg 只编译一个包
colcon build —cmake-args -DCMAKE_BUILD_TYPE=Release
不编译测试单元
colcon test --packages-select YOUR_PKG_NAME --cmake-args -DBUILD_TESTING = 0
运行编译的包的测试
colcon test
- 允许通过更改src下的部分文件改变install,这样每次修改Python脚本时不必重新 build
colcon build --symlink-install
colcon build —symlink-install pkg
colcon build —symlink-install —packages-ignore pkg
显示CMake中的MESSAGE
colcon build —event-handlers console_direct+ —packages-select test_node
console_direct
换成 console_cohesion
也可以
如果不想编译特定的包,在该包目录里面创建一个名为COLCON_IGNORE
文件,这样子这个包就不会被索引到了
问题
- 编译时找不到 ament_cmake
source /opt/ros/jazzy/setup.bash
- 报警: WARNING:colcon.colcon_ros.prefix_path.catkin:The path ‘/home/user/catkin_ws/install/nav2_map_server’ in the environment variable CMAKE_PREFIX_PATH doesn’t exist
即使删除了install
, build
, log
也无法解决,要想彻底解决只能重建一个工作空间。或者用临时方法,但新终端又会失效1
2unset AMENT_PREFIX_PATH
unset CMAKE_PREFIX_PATH