当前位置:网站首页>Cpp(三) 什么是CMake
Cpp(三) 什么是CMake
2020-11-07 20:58:00 【Coxhuang】
文章目录
- 什么是CMake
- #1 环境
- #2 Cpp流程
什么是CMake
#1 环境
macOS 10.15.5
#2 Cpp流程
什么是CMake? 需要先了解Cpp的流程
- 用编辑器(VSCode/Clion等)编写源代码,如main.cpp文件
- 用编译器编译代码生成目标文件,如.o
- 用链接器连接目标代码生成可执行文件,如Windows下的.exe和Linux下的可执行文件
- make
如果源文件(.cpp)过多,一个一个编译就会特别麻烦,于是就有了
make
工具,它是一个自动化编译工具,可以使用一条命令实现完全编译,但是开发者需要编写一个规则文件,make依据规则文件来批处理编译,这个文件就是makefile
- CMake
但是对于一个特别巨大的工程来说,编写一个
makefile
确实是一件非常复杂的事情,于是出现了CMake
,CMake负责读入所有源文件,然后自动生成makefile
,但是这时,需要开发者编写一个规则文件,CMake
通过这个规则文件生成makefile
,这个文件就是CMakeLists.txt
所以,一个Cpp工程,从源码到运行,可以手动编写
makefile
文件,然后编译,生成一个可执行文件;也可以编写CMakeLists
文件,通过CMake
工具,自动生成makefile
文件,然后编译生成可执行文件
本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。
版权声明
本文为[Coxhuang]所创,转载请带上原文链接,感谢
https://cloud.tencent.com/developer/article/1744570
边栏推荐
猜你喜欢
Do not understand the underlying principle of database index? That's because you don't have a B tree in your heart
工作1-3年的程序员,应该具备怎么样的技术能力?该如何提升?
来自不同行业领域的50多个对象检测数据集
Git代码提交操作,以及git push提示failed to push some refs'XXX'
Annual salary of 900000 programmers is not as good as 3800 civil servants a month? How to choose between stability and high income?
Reflection on a case of bus card being stolen and swiped
从技术谈到管理,把系统优化的技术用到企业管理
计组-总线通信控制之异步串行通信的数据传输
浅谈HiZ-buffer
京淘项目day09
随机推荐
微服务的出现和意义的探索
Dynamic programming -- state compression DP of set represented by binary
chrome浏览器跨域Cookie的SameSite问题导致访问iframe内嵌页面异常
WPF 关于绘图个人总结
一文详解微服务架构
How to think in the way of computer
Get started, GIT
The official 1909 version of win10 cannot open the real-time protection solution of virus and threat protection in windows security center.
计组-总线通信控制之异步串行通信的数据传输
建议患者自杀,OpenAI警告:GPT-3用于医疗目的风险太高
是时候结束 BERTology了
Web API series (3) unified exception handling
delphi10的rest.json与system.json的踩坑
你可能不知道的Animation动画技巧与细节
What should be considered in the promotion plan outside the station?
「混合云」会是云计算的下一个战场吗?
Web安全(二)---跨域资源共享
MongoDB下,启动服务时,出现“服务没有响应控制功能”解决方法
工作1-3年的程序员,应该具备怎么样的技术能力?该如何提升?
Improvement of maintenance mode of laravel8 update