在ROS工程中,修改了单个功能包后,重新编译所有代码完全是费时费力的,此时只需要重新编译修改了的功能包:
指定编译编译单个功能包:
catkin_make -DCATKIN_WHITELIST_PACKAGES="功能包名"
解除指定功能包编译:
catkin_make -DCATKIN_WHITELIST_PACKAGES=""
在工程量较大的时候,代码一起编译的速度过慢,怎么办?可以使用多线程编译:
catkin_make -j2 -l2
//-j2,j 是 job 的意思,代表允许 2 个编译命令同时进行,一般是以 CPU的核心数目的两倍为宜
//-l2,l 是 load-average 的意思,代表系统加载的任务数,数目一般与-j的数目保持一致
//注意,此处不仅限于2,可以是2,4,8,这取决于你是几核cpu