在进行源码编译的时候经常要执行
cmake ..
make
为了提高编译速度我们经常会加上-j参数。让make去使用多线程编译。但是每个线程将消耗大量内存。一个不小心就死机。经过我的测试一个线程最多能使用4G内存。
ninja是可以代替make的另一个编译工具。它具有更快的速度,编译时消耗更少的内存。使用也是非常方便。
cmake -G Ninja ..
ninja
只要编译时把原来的make指令替换成ninja就行了。
在ROS中编译软件使用catkin_make工具。这个工具也是支持ninja
catkin_make --use-ninja
如上的方式,加上–use-ninja参数就可以了。从此多线程编译再也不死机了。