cMake学习笔记(初级使用)

一直觉得做C和C++开发的人,不懂Cmake总是差点意思。最近浏览github上面,很多都是cmake+make的方式出来的C库,下载起来一堆文件,根本不知道应该看什么,应该如何使用。

所以先学习基础的cmake用法,目前只用到了linux和Windows,在Linux上面编译器使用GCC,在Windows上默认使用visual studio ,也可以使用mingw,类似Linux上的gcc。

安装vs、mingw、cMake都是基础操作,安装完事在Windows上要添加环境变量,mingw最好自行放在一个路径比如我的路径:C:\MinGW,同时更改mingw32-make.exe换成make.exe,如果不改名的话,直接make就会报错,为了两个系统上面的操作一致,改名即可。

任何编程的工程都有源文件,cmake让编译和链接生成这个过程简单了,主要靠的是CMakeLists.txt这个文件。

cmake_minimum_required (VERSION 2.8)

project (hello)

add_executable(hello hello.cpp)

单个源文件最简单的用法如上,

  • 第一行意思是cmake最低版本要求2.8,
  • 第二行是本项目的工程名
  • 第三行:第一个变量:要生成的可执行文件名为hello,后面的参数是需要的依赖。

其余多文件,多个路径,多个头文件可以参考这个帖子,我就不重复了。

cmake使用详细教程(日常使用这一篇就足够了)_cmake教程-CSDN博客

我发现在Windows上面默认使用的是vs,那么如何使用mingw呢,其实特别简单

复制代码
mkdir build
cd build
cmake -G"Unix Makefiles" ../

只要用上面三个命令就可以了。当然前提是配置好环境,上述执行在cmd中。

当然也参考了这个帖子:
Windows下CMake安装使用_windows cmake安装-CSDN博客

目前我觉得cmake作为一个工具,重要的是学会使用,主要有两个部分:1,CMakeLists.txt文件的编写;2,cmake的使用参数。具体细节就不深究了,人生苦短,在编程中取乐吧。

相关推荐
旖-旎1 小时前
递归(汉诺塔问题)(1)
c++·学习·算法·leetcode·深度优先·递归
SUNNY_SHUN1 小时前
清华团队提出TFA-Net,用模板特征聚合破解工业异常检测中的“捷径学习“难题
人工智能·学习·视觉检测·github
SuperHeroWu71 小时前
【鸿蒙基础入门】概念理解和学习方法论说明
前端·学习·华为·开源·harmonyos·鸿蒙·移动端
speop1 小时前
TASK05 | Reasoning Kindom拟合的陷阱 —— 统计相关性不是推理
学习
сокол2 小时前
【网安-等保评测-基础记录】网络安全等级保护2.0 详解(定级、备案、测评、整改一站式指南)
网络·笔记·网络安全·云计算
深念Y2 小时前
感知机 ≈ 可学习的逻辑门?聊聊激活函数与二元分类的本质
人工智能·学习·分类·感知机·激活函数·逻辑门·二元分类
程序员大雄学编程2 小时前
学习资源总汇
学习
健康人猿2 小时前
Grok 4.3 Beta | xAI用300美刀告诉你,AI终于可以交作业了
学习·ai·grok·马斯克·xai·supergrok
路溪非溪3 小时前
嵌入式wifi专家成长学习路线
学习
mxwin4 小时前
Unity Shader中如何学习阴影技术 产生阴影,接受阴影,联级阴影,软阴影
学习·unity·游戏引擎·shader