ROS编译工具经历了catkin , ament, colcon等几代,本文以colcon build为例
目前遇到常用参数:
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选项,删除符号表,这一步会极大减少文件体积
参考一:gcc
https://gcc.gnu.org/onlinedocs/gcc-5.5.0/gcc/#toc-GCC-Command-Options
参考二:CMake
https://cmake.org/cmake/help/latest/manual/cmake-variables.7.html
https://cmake.org/cmake/help/latest/variable/CMAKE_LANG_FLAGS.html#variable:CMAKE_%3CLANG%3E_FLAGS