CMake学习记录一(windows)

本文只记录一些基础及常用的cmake操作,不涉及复杂场景的使用。

(一)所需环境

        电脑安装cmake, vscode安装cmake插件, 电脑安装mingw64

(二)C++编译流程

        对于一个main.cpp文件而言,编译会经过下面4个步骤:

        (1)预处理(得到main.i文件):C++中预处理指令以 # 开头。在预处理阶段,会对#define进行宏展开,处理#if,#else等条件编译指令,递归处理#include

g++ -E main.cpp -o main.i

        (2)编译(得到main.s文件):检查代码的规范性和语法错误等,检查完毕后把代码翻译成汇编语言文件。

g++ -S main.i -o main.s

        (3)汇编(得到main.o文件):基于汇编语言文件生成二进制格式的目标文件

g++ -c main.s -o main.o

        (4)链接(得到main.exe文件):将目标代码与所依赖的库文件进行关联或者组装,合成一个可执行文件

g++ main.o -o main

        得到main.exe文件之后就可以直接在终端运行这个可执行文件了。

(三)Cmake简介

  • 自动搜索可能需要的程序、库和头文件的能力;
  • 独立的构建目录(如build),可以安全清理
  • 支持复杂的自定义命令(下载、生成各种文件)
  • 自定义配置可选组件
  • 从简单的文本文件(CMakeLists.txt)自动生成工作区和项目的能力
  • 在主流平台上自动生成文件依赖项并支持并行构建
  • 几乎支持所有的ID

(四)Cmake编译流程

        (1)使用Cmake需要给他配置一个CMakeLists.txt文件

# CMake 最低版本号要求
cmake_minimum_required(VERSION 3.10)

# first_cmake是项目名称,VERSION是版本号,DESCRIPTION是项目描述,LANGUAGES是项目语言
project(first_cmake) 

# 添加一个可执行程序,first_cmake是可执行程序名称,main.cpp是源文件
add_executable(first_cmake main.cpp)

        (2) 执行编译:打开终端

执行下面的命令会生成一个名称为build的文件夹

cmake -S . -B build

再执行下面的命令,编译就完成了

cmake --build build

编译完成后,在build/Debug下会生成一个可执行文件,然后在终端运行这个可执行文件就可以输出main.cpp的输出结果了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值