标签:文件 cmake QT make makefile qmake 编译
https://www.zhihu.com/question/27455963/answer/36722992
1、CMakeLists.txt由用户完成
2、cmake根据CMakeList.txt文件生成makefile;makefile文件是基于平台的;
3、make工具:可以看成一个智能的批处理工具,它本身没有编译和链接功能,而是用类似于批处理的方式,通过调用makefile文件中用户指定的命令在进行编译和链接;
4、makefile:简单来说相似一首歌的乐谱,而make工具就是指挥家;make工具就根据makefile中的命令进行编译和链接的;
在makefile命令中就包含了调用gcc(或别的编译器)去编译某个源文件;makefile文件是基于平台的;
5、当你的程序只有一个源文件时,可以直接用gcc命令编译它;
6、qmake:qmake是区别于cmake存在的,是针对QT开发框架的;
(1)QT程序进行编译前就必须调用moc(The Meta-Object Compiler)和uic(User Interface Compiler)对源文件进行预处理,然后再调用编译器进行编译;QT是对C++进行了扩展,你写的一行代码,QT在背后帮你写了千百行,而这些多出来的代码就是靠qt专有的moc和uic编译器来进行处理;
(2)qmake是根据Qt工程文件(.pro)来生成对应的makefile的;这种专用的makefile文件能自动调用moc和uic对源程序进行预处理和编译;
(3)qmake也是跨平台的,跟cmake一样能对应各种平台生成对应的makefile文件;
(4)qmake也可以独立于它的IDE,也可以用在非QT工程上面,照样可以生成普通的makefile,只要再pro文件中加入CONFIG -= qt就可以了;
(5)cmake同样支持QT程序的,也能生成针对qt程序的那种特殊makefile,只是cmake的CMakeLists.txt写起来比qmake的pro文件复杂;
标签:文件,cmake,QT,make,makefile,qmake,编译 来源: https://www.cnblogs.com/wllwqdeai/p/15337789.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。