Blog

  • 分享一个cmake加快构建速度的小技巧

    分享一个cmake加快构建速度的小技巧。

    cmake -G Ninja -DENABLE_LTO=OFF …
    然后(上述三个点是省略的原来的参数)
    make -j $(nproc)命令使用ninja -j $(nproc)代替。

    这样,至少在我这里,只改动一行wireshark源码,编译时间从174秒减少到4秒,非常提效。


    上面命令中,LTO表示链接时优化(link time optimization),相当于将所有.o已编译对象文件联合起来进行优化,包括跨文件内联优化,指令重排序,代码消除等,非常耗时。

    ninja则是与make同一个概念,它优化了文件依赖解析#百度带货夏令营# 程(使用build.ninja文件,不同于makefile的另一种语法),子命令执行也是直接调用而非像make一样通过shell来间接调用,仅在大规模项目中有较大时间的节省。


    老铁们,这个对你们有用吗?😊