什么是colcon?
在ROS2中的构建工具是colcon,这非常类似我们在ROS中使用的catkin_make。
官方介绍
官方资料可以去这里,
colcon - collective construction — colcon documentation
或者
https://github.com/colcon/colcon.readthedocs.org
一些常用的colcon参数
参考:
build - Build Packages — colcon documentation
colcon提供了很多的参数选项,大家可以去官网查看,这里我不再逐一翻译 ,只是简单枚举一下官网的内容,
目前遇到常用参数:
1.--symlink-install :使用符号链接而不是复制文件,如
以动态链接库为例,会在install目录中使用符号链接,指向build目录下生成的库文件(如 *.so). 没有该选项,则两个目录都会有该库文件
2.--packages-select :只编译指定包,如
colcon build --packages-select autoware_map_msgs vector_map_msgs
3.--packages-ignore : 忽略指定包,同上
4. --continue-on-error :在编译出错之后继续编译其他模块
5. --cmake-args ,--ament-cmake-args, --catkin-cmake-args :传递参数给对应的package
针对cmake参数,常用的有
-DCMAKE_BUILD_TYPE=Release
-DCMAKE_CXX_FLAGS="-O2 -g -Wall "
“-D” --宏定义, 每定义一个就在前边加上"-D",给gcc传递参数
-g debug选项, gdb模式,符号表会保存
-s link选项,删除符号表,这一步会极大减少文件体积