CMake教程1:CMake是什么?

简介: CMake教程1:CMake是什么?

认识CMake

在介绍CMake之前,需要介绍一些计算机基础,这样能更好的理解CMake到底是什么。

如何编译程序

计算机语言只是一个标准规范,只定义了语法,而编译器的工作就是将源代码转换为机器语言。

不同的操作系统、不同的IDE可以自由选择使用的编译器,常见的C++编译器有:GCC(GNU Compiler Collection)、MSVC系列、 llvm+Clang、 TCC(Tiny C Compiler)、 Borland C++等等

假如使用GCC编译器进行程序开发,我们需要手动在命令行里面进行手动编译项目,大致过程是这样子:

# 手动编译源文件
$ gcc -Wall -g -o hello hello.c 
$ ./hello 
# 执行 
Hello world!
复制代码

如何自动化构建程序

如果项目源文件非常多,每次都需要在命令行手动编译非常麻烦,于是就诞生了make工具Makefile文件,注意两者是配套的。

可以理解为make工具是一个批处理应用程序,Makefile文件指定了程序如何进行编译和链接(其实就是配置文件),两者配合使用就能实现半自动化构建程序。

常见的make工具有有:GNU的gmake、MicroSoft的nmake等

如何跨平台开发程序

每个的make工具配套的Makefile文件编写规则都不兼容,在开发跨平台程序的时候,不可能每个平台的Makefile都写一遍,所以就诞生了跨平台的make工具,比如Qt的qmakekitware的cmake等等。

CMake可以输出各种Makefile(namke、gmake)和Project工程(visual studio、xcode),所以现在的跨平台游戏引擎大部分都选择了CMake

总结

CMake可以理解为使用平台无关的配置文件,自动编译链接程序的一个工具集,最大的优势就是跨平台。



目录
相关文章
|
4月前
|
缓存 Unix 程序员
CMake 教程1
CMake 教程
73 1
|
4月前
|
Dart IDE Unix
CMake 教程3
CMake 教程
46 1
|
4月前
CMake 教程2
CMake 教程
27 0
|
6月前
|
C++ 开发者 开发工具
面向 C++ 的现代 CMake 教程(四)(2)
面向 C++ 的现代 CMake 教程(四)
76 0
|
6月前
|
C++ 测试技术 开发工具
面向 C++ 的现代 CMake 教程(五)(1)
面向 C++ 的现代 CMake 教程(五)
59 0
|
6月前
|
C++ 存储 测试技术
面向 C++ 的现代 CMake 教程(五)(3)
面向 C++ 的现代 CMake 教程(五)
65 0
|
6月前
|
C++ 缓存 存储
面向 C++ 的现代 CMake 教程(一)(3)
面向 C++ 的现代 CMake 教程(一)
154 0
|
6月前
|
缓存 C++ Windows
面向 C++ 的现代 CMake 教程(一)(2)
面向 C++ 的现代 CMake 教程(一)
178 0
|
6月前
|
C++ 开发者 Unix
面向 C++ 的现代 CMake 教程(四)(5)
面向 C++ 的现代 CMake 教程(四)
67 0
|
6月前
|
存储 算法 C++
面向 C++ 的现代 CMake 教程(五)(5)
面向 C++ 的现代 CMake 教程(五)
53 0