当前位置: 首页 > news >正文

CMake基础

之前对CMake有一点了解,最近需要深入学习一下就将基础复习复习,本文章适合对C++有一点了解,但是不太了解CMake的人阅读


CMake是开源、跨平台的构建工具,可以让我们通过编写简单的配置文件去生成本地的Makefile,这个配置文件是独立于运行平台和编译器的,这样就不用亲自去编写Makefile了,而且配置文件可以直接拿到其它平台上使用,无需修改,非常方便。

1、环境搭建

# 安装
sudo apt install cmake
# 查看版本
cmake -version

2、简单入门

2.1 源文件编写

首先构建文件夹

├Hello
├── CMakeLists.txt
└── main.cpp

main.cpp

#include <stdio.h>int main(void)
{printf("Hello World\n");return 0;
}

CMakeLists.txt

cmake_minimum_required (VERSION 2.8)
project (demo)
add_executable(main main.cpp)

解析:

  • cmake_minimum_required : CMake最低版本要求
  • project:项目名称
  • add_executable(main main.cpp) 生成的可执行文件名称

2.2 编译运行

编译运行有两种方法

  • cmake . ->make ->./main
    • cmake . 进行环境准备
    • make 程序编译,这一步会生成add_executable中指定的可执行文件
    • ./main 运行这个可执行文件
  • cmake -S . -B build -> cmake --build build -> ./build/main
    • cmake -S . -B build :构建build文件,并将环境准备文件写入到build文件夹中
    • cmake --build build :编译项目
    • ./build/main:运行可执行文件
      推荐第二种方法,因为第一种方法会将源文件和CMake生成的文件混合在一起,

相关文章:

  • Linux上的rm和srm 命令
  • Springboot实现重试机制
  • ebook2audiobook开源程序使用动态 AI 模型和语音克隆将电子书转换为带有章节和元数据的有声读物。支持 1,107+ 种语言
  • 从新手到高手:全面解析 AI 时代的「魔法咒语」——Prompt
  • 鸿蒙 PC 发布之后,想在技术上聊聊它的未来可能
  • talk-linux 不同用户之间终端通信
  • 攻防靶场——没有Web怎么打
  • 关于maven的依赖下不下来的问题
  • 加速度策略思路
  • WebPageTest 多地域测试
  • 描述性统计工具 - AxureMost 落葵网
  • 【手表维修专用软件】佳易王手表钟表保养维护服务跟踪管理系统:保养维护登记,维修进度跟踪!#手表维修管理系统教程 #铭表设备维修记录软件#操作简单软件下载
  • EasyOps®5月热力焕新:三大核心模块重构效能边界
  • NLTK进行文本分类和词性标注
  • ai讲vite的vite.config.ts的server配置
  • 2025.5.13山东大学软件学院计算机图形学期末考试回忆版本
  • 当三维地理信息遇上气象预警:电网安全如何实现“先知先觉”?
  • 2025.05.11拼多多机考真题算法岗-第三题
  • 虹科技术 | ANDi软件应用:SOME/IP协议如何重塑车载通信架构?
  • 火山引擎发展初始
  • 广东肇庆今日确诊病例/武汉seo关键字推广
  • 虎门外贸网站建设/上海百度研发中心
  • 国际营销网站建设/百度广告关键词价格表
  • 腾讯云服务器怎么做网站/免费开通网站
  • 做微商那个网站好/百度推广人联系方式
  • 关于重新建设网站的申请表/指数搜索