CMake:是一個編譯(Build)工具,可以通過寫CMakeLists.txt文件跨平台生成makefile,不用自己去修改。
makefile:它定義了一系列規則指定工程中哪些文件需要先編譯,需要后編譯,需要重新編譯。優點:它就像一個Shell腳本,可以(make)實現自動化編譯,且也可以執行操作系統的命令,極大的提高了軟件開發效率。
為什么使用makefile?
對於開發的一個大型工程來說,它有多個人員共同開發完成,且提交代碼有先后順序,那么如果每次都重新編譯整個工程的話會比較耗時,這時使用makefile則可以指定只編譯新寫出的代碼,而不用全部重新編譯,提高了開發效率。
圖片來自知乎作者:Error
https://zhuanlan.zhihu.com/p/111110992