CMake进阶篇(二)——搭建Qt6工程
前言:
本篇文章探讨通过CMake搭建一个Qt6工程。
1 下载
文章作者: OnlyCalm
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 OnlyCalm's Blog!
相关推荐

2025-11-21
CMake进阶篇(一)——搭建stm32工程
CMake进阶篇(一)——搭建stm32工程前言: 本篇文章探讨通过CMake搭建一个stm32工程。 1 下载 本篇文章以STM32F10x芯片为例搭建CMake工程,现在芯片长官网下载标准库,以主流HAL库为例。登陆 STM32官网 ,在官网搜索框中输入 STM32CubeF1 来查找并下载完整的MCU固件包。这个压缩包内就包含了STM32F103ZE以及整个F1系列所有芯片的HAL库源码、示例项目和文档。 解压下载的 stm32cubef1.zip 包,目录结构如下。 搭建工程所需的文件就在 **stm32cubef1.zip里,或者也可以通过STM32Cube创建一个CMake工程的Demo,从Demo中获取搭建工程所需要的文件。 1.1 获取drv HAL库和CMSIS在 Drivers/STM32F1xx_HAL_Driver 路径下,将其拷贝到我们搭建的工程中,这里我放到 drv 目录中使用。CMSIS(Cortex...

2024-07-20
CMake基础篇(七)——编译动态或静态库
CMake基础篇(七)——编译动态或静态库前言: 本篇文章介绍CMake如何编译动态或静态库。 1 编译库 在项目实战中常常会涉及到使用第三方库,可以是动态或静态库,而用CMake如何将源码编译成动态或静态库是本文要探讨的话题。 目录结构如下。 1234567891011121314╰─ tree.├── build├── CMakeLists.txt├── inc│ └── alg.h├── lib│ ├── build│ └── CMakeLists.txt├── main.c├── main.h├── README.md└── src └── alg.c 我们要将alg.c和alg.h编译为动态库(*.so)和静态(*.a)库。在lib路径下编辑如下CMakeLists.txt文件。 1234567cmake_minimum_required(VERSION...

2024-07-20
CMake基础篇(三)——变量
CMake基础篇(三)——变量前言: 本篇文章帮助你快速熟悉CMake变量的使用。 1 介绍 Cmake定义变量有显示和隐式两种。显示为使用 set 函数定义的变量,隐式是CMake自动创建的变量。CMake新增变量不需要提前有个变量定义操作,直接使用即自动完成变量定义。 更详细的变量信息查询可以访问 官网对CMake变量的说明 。 2 隐式变量 比如以下代码, project(ProjectName) 函数定义了该项目的名称为 ProjectName ,同时CMake会隐式的定义 ProjectName_SOURCE_DIR 和 ProjectName_BINARY_DIR 两个变量。 123project(ProjectName)message(STATUS "${ProjectName_SOURCE_DIR}")message(STATUS "${ProjectName_BINARY_DIR}") 3...

2024-07-21
CMake基础篇(九)——编译选项
CMake基础篇(九)——编译选项前言: 本篇文章介绍CMake的一些编译项配置。 1 add_compile_options 设置编译选项可以使用 add_compile_options 函数。 1add_compile_options(-std=c++11 -Wall -O2)

2024-07-20
CMake基础篇(二)——构建并编译简单Demo
CMake基础篇(二)——构建并编译简单Demo前言: 本篇举例一个最简单的CMake构建的工程,帮助快速熟悉CMake。 1 CMake简介 CMake是一种跨平台的编译工具,它语法简单,可以输出各种各样的makefile或project文件。CMake用于产生标准的构建档,使得开发者可以在不同的平台用标准的方式构建软件,实现一次编写编译规则,多个平台相同编译。 2 编写CMakeLists CMake的代码是写在CMakeLists文件中,通过执行 cmake 指令生成 Makefile 文件,接着在执行 make 指令编译生成目标文件。以下用一个最简化的Demo做一个演示,跑一遍构建、编译到运行的过程。 目录结构如下。 123.├── CMakeLists.txt└── main.c main.c 123456#include <stdio.h>void main(void){ printf("Hello...

2024-07-20
CMake基础篇(五)——宏
CMake基础篇(五)——宏前言: 本篇文章帮助你快速熟悉CMake宏的使用。 1 用法 CMake的宏原理和c/c++相同,本质都是替换。以下代码说明了宏的参数是字符串替换的特点。 12345678910111213141516171819202122232425project(ProjectName)macro(PrintAndModifyMacro var) message(STATUS "Macro before: var = ${var}") set(var "Modified by Macro") message(STATUS "Macro after: var = ${var}")endmacro()function(PrintAndModifyFunction var) message(STATUS "Function before: var =...
评论
ValineGitalk
公告
贫富安。



