当前位置:网站首页 > 云服务教程 > 正文

cmake教程详解原理(cmake视频教程)




我们在平时编译代码的时,面对简单的代码,直接GCC编译就好,稍微多一点,可以编写Makefile来编译,以上编译起来都很轻松,可是平时工作的时候基本都是大工程呀,代码文件少则几十个文件了,这种情况下就头疼了,咋办呢?今天我来教你使用cmake轻松解决问题~


Makefile想必大家都不陌生吧,它能够解决我们的自动化编译问题,大多是IDE软件都集成了make,譬如 Visual C++的 nmake、linux 下的 GNU make、Qt 的 qmake 等等。

不同的IDE所集成的make工具所遵循的规范和标准都不同,也就导致其语法、格式不同,也就不能很好的跨平台编译,会再次使得工作繁琐起来

那么cmake为了解决这个问题而诞生了,其允许开发者指定整个工程的编译流程,在根据编译平台,生成本地化的Makefile和工程文件,最后用户只需make编译即可

简而言之,可以把cmake看成一款自动生成 Makefile的工具,所以编译流程就变成了:cmake—>make–>用户代码–>可执行文件

在这里插入图片描述

首先需要手动安装cmake

 
    

我们首先编写一个经典的 “hello world” 代码

在这里插入图片描述
然后编写 CMakeLists.txt 文件,这个文件会被 cmake 工具解析,可以类比与 Makefile 被 make 解析一样

写下以下内容:

在这里插入图片描述
此时,当前文件夹下有连个文件:
在这里插入图片描述
执行cmake 进行编译


 
    

打印结果如下:
在这里插入图片描述
然后会生成这些文件

在这里插入图片描述
到这里,我们直接执行make编译代码就好

在这里插入图片描述
然后你会发现,已经生成了可执行文件 hello

在这里插入图片描述
运行可执行文件成功,也意味着我们已经学会了如何基础的使用 cmake 工具了

在这里插入图片描述

刚刚我们已经自己动手写了一个CMakeLists.txt 文件,并已经成功的编译出了可执行文件,但是你肯定还是处于一种似懂非懂的状态,所以,在这里我们稍微讲下他的语法结构

回到刚刚写的 CMakeLists.txt 文件,我们了解一下他的意思

在这里插入图片描述
第一行 project(HELLO):

第二行 add_executable(hello https://blog.csdn.net/_/article/details/main.c):

所以 add_executable(hello https://blog.csdn.net/_/article/details/main.c)表示需要生成一个名为 hello 的可执行文件,所需源文件为当前目录下的 main.c。

之前我们编译完代码后,会发现编译构建过程产生的文件与我们的源文件混杂在一起了

在这里插入图片描述

这样看起来会很不舒服,因此我们可以使用以下方法进行分离

首先,我们把之前构造过程产生的文件都删了,变成这样

在这里插入图片描述
新建一个 build 目录,进入目录,执行 cmake …/ , 然后执行 make 编译

在这里插入图片描述

可以看到,cmake 和 make 生成的构建文件,以及可执行文件,都保存在了build目录下
在这里插入图片描述
如果要清理工程,直接删除 build 目录即可,这样看起来使得工程文件更加整洁

在之前的基础上,我们新建两个文件,hello.c 、hello.h

hello.c
在这里插入图片描述
hello.h
在这里插入图片描述
因为添加了新的源文件,因此还需要修改 CMakeLists.txt 文件



在 add_executable 命令引用了该变量

当然也可以不去定义这个变量而直接写入源文件,这样做是为了代码整洁,以后文件多了可以这样操作
在这里插入图片描述
现在的目录结构是这样:

在这里插入图片描述

接下来的环节和之前一样,进入到build目录下,cmake ,最后make 编译出可执行文件

在这里插入图片描述

在我们平时的开发过程中,也有很多场景需要将我们的源码编译成库文件来提供使用,这个需求也可以使用cmake做到,

这就需要用到一条命令:

add_library(libhello 静态/动态库 hello.c)

没设置参数的话,默认就是生成静态库文件,可以加参数,设置指定的库文件

 
    

修改生成的库文件名字

 
    

在这里插入图片描述

同样的操作,进入build目录 ,进行以下操作,我们就得到了hello的动态库:libhello.so

在这里插入图片描述


关于cmake的使用方法还有很多,这里只是做了一个最基本的介绍,后期有机会在进行详细补充~

到此这篇cmake教程详解原理(cmake视频教程)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • xmouse自定义按键(xmouse设置教程cf)2026-01-17 20:18:11
  • 启动盘u盘制作方法图解(u盘启动盘制作视频教程)2026-01-17 20:18:11
  • winxp虚拟机安卓版(windowxp虚拟机安装教程)2026-01-17 20:18:11
  • 安装win1032位系统(win1032位系统安装教程)2026-01-17 20:18:11
  • 新魔百和m301h刷机教程(新魔百盒m310刷机)2026-01-17 20:18:11
  • 服务器部署教程(服务器部署教程图解)2026-01-17 20:18:11
  • 速排蚂蚁编辑器怎么用(速排小蚂蚁编辑器教程)2026-01-17 20:18:11
  • ad17铺铜规则设置(ad17铺铜教程)2026-01-17 20:18:11
  • st7735s驱动教程(st7703驱动)2026-01-17 20:18:11
  • xmouse官网(xmouse使用教程)2026-01-17 20:18:11
  • 全屏图片