概述
教程
- 官方教程
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
832






