Makefile和CMakefiles.txt的那些事儿
2017-12-20 本文已影响85人
戴德曼
写算法代码多了,发现python就是一张皮,扎实的内容都在C/C++那里,20年没有动摇。一直以来,我不停的在make和cmake中间穿梭,今天停下来小结一下。这点知识在C/C++专业开发眼里就是一个小蛋糕(piece of cake),但是对于很多算法人士,还是有点技术含量的。
首先,make比cmake出现的早,大部分有Makefile的项目都是历史悠久,CMakefiles.txt则是后起之秀,主要还是大量需要做C/C++编码的人实在是很难整明白各种支撑库,各种依赖,Makefile就是一本天书,于是cmake是用来生成Makefile的,而CMakefiles.txt就是用来指导cmake生成Makefile,然后再用make编译工程。这个过程可以用下面的图表达:
所以,为了能够把一堆c,cc,cpp,h,hpp代码变成可运行的库或者程序,核心还是Makefile,CMakefiles.txt纯粹是为了降低不懂Unix体系的人去编译C/C++代码做的一个自动系统和环境检测和设置工具,同时帮你生成Makefile。