概述
教程
- 官方教程
https://cmake.org/cmake/help/latest/guide/tutorial/index.html - 教程(最重要的)
https://github.com/wzpan/cmake-demo - vs Ide详解:见其他文章
目标
- 学习cmake搭工程的能力
- cmake多平台多ide的使用
预备
分离式编译
https://www.cnblogs.com/HDK2016/p/10591690.html
阅读了上面的程序就会对cpp程序的分离式编译的过程有深入理解:
- 在编译过程中
.h
的头文件并没有什么用!只是作为隐式链接的时候的桥梁。
debug
生成带有调试信息的可执行程序
https://blog.51cto.com/u_15244533/2845274
学习
linux下完成教程,并仿照助教的项目完成自己的项目的搭建。
像这样底层工具的高级替代的学习,还是先从原理去理解,然后自己模仿,然后自己灵活定制。
cmake的简单介绍
下面是对cmake的简单介绍
- cmake中
project
的主要是target
构成。比如说:.exe
,.dll
,静态链接库,纯头文件的库等等。为了别人能够使用你的库,你要install
你的project。
- 每个
target
包含了三个主要的部分:
src
:各种各样的源文件,比如说.h
,.cpp
这些最经典的(.h
自己的项目的即当前目录下#include " .h"
)。inc
:程序里面现需要包含的头文件(理解为#include < .h>
)lib
:静态库
install
这个就先不看了。
例子
这个例子是使用cmake-gui
生成project
对应的solution
。且generator
是visual studio 2019.
- 生成
project
对应的solution
(下面仅仅只是展示,与下文的project没有关系)
- vs2019打开
solution
后:
可以看到solution一共有19个project
,每个project代表一个traget
。如UESC_test_
的project对应于生成exe
文件,而UESC_core
则对应一个静态库文件。
以projectUES_core
为例现在可以看到每个traget
对应的三个部分。
-
src
-
inc
-
lib
cmake for vs
在cmake-gui下生成的solution到底是什么!上面的例子给了详细的阐述。现在应该是了解了cmake的整个的过程。
cmake for vscode
https://vector-of-bool.github.io/docs/vscode-cmake-tools/index.html
https://blog.nowcoder.net/n/8d95a85ddfb147fdbd096bcf16e1047e?from=nowcoder_improve