C++进阶篇CMake day6

5.1

CMake编译工程

CMake目录结构:项目主目录中会放一个CMakeLists.txt的文本文档,后期使用cmake指令时,依赖的就是该文档

1> 包含源文件的子文件夹中包含CMakeLists.txt文件时,主目录的CMakeLists.txt要通过add_subdirector添加子目录

2> 包含源文件的子文件夹中不包含CMakeLists.txt文件时,,子目录编译规则,体现在主目录中的
CMakeLists.txt

两种构建方式

内部构建:不推荐使用

内部构建会在主目录下,产生一大堆中间文件,这些中间文件并不是我们最终所需要的,和工程源文件放在一起时,会显得比较杂乱无章

详解

1)hello.cpp为源文件
2)CMakelists.txt 为CMake文件
3)中间文件自动生成的

构建

1)创建好源文件hello.cpp
2)创建CMakelists.txt并编辑

点击查看代码
cmake_minimum_required(VERSION 2.8)

# 项目名称
project(HELLO)

# 生成可执行性文件,依赖于hello.cpp生成hello可执行性程序
add_executable(hello_cmake hello.cpp)

3)终端里输入 cmake . 自动生成中间文件
4)输入 make 生成可执行性文件
5)./hello 编译运行

外部构建:推荐使用

将编译输出的文件与源文件放到不同的目录下,进行编译,此时,编译生成的中间文件,不会跟工程源文件进行混淆

外部构建步骤

点击查看代码
# 1、在当前目录下,创建一个 build 文件,用于存储生成中间文件
mkdir build
# 2、进入build文件夹内
cd build
# 3、编译上一级目录中的CMakeLists.txt,生成Makefile文件以及其他文件
cmake .. # ..表示上一级目录
# 4、执行make命令,生成可执行程序
make
posted @ 2025-05-01 15:35  北燃  阅读(24)  评论(0)    收藏  举报