cmake超好用的使用教程
cmake的使用1 cmake的安装1.1 使用命令安装1.2 使用源码编译安装1.3 版本查看2 创建项目目录结构3 编写 CMakeLists.txt 文件4 构建项目5 运行结果1 cmake的安装CMake 是一个跨平台的自动化构建系统工具它可以帮助开发者轻松地管理项目的构建过程。通过 CMake你可以编写简单的配置文件来描述项目的结构和构建需求而不必关心具体的构建细节。1.1 使用命令安装sudoaptinstallcmake1.2 使用源码编译安装官网链接: https://cmake.org/download/源码编译方法网上很多这里不再赘述。1.3 版本查看安装完成之后通过一下命令查看cmake版本。cmake--version2 创建项目目录结构project_root ├── CMakeLists.txt ├── include │ └── add.h └── src ├── add.cpp └── main.cpp3 编写 CMakeLists.txt 文件cmake_minimum_required(VERSION3.22)project(app_add)set(CMAKE_CXX_STANDARD17)set(PROJECT_ROOT${CMAKE_CURRENT_SOURCE_DIR})message(STATUSproject_root:${CMAKE_CURRENT_SOURCE_DIR})file(GLOB SRC_LIST${PROJECT_ROOT}/src/*.cpp)add_executable(${PROJECT_NAME}${SRC_LIST})target_include_directories(${PROJECT_NAME}PRIVATE${PROJECT_ROOT}/include)每行含义指定了项目所需的最低 CMake 版本为 3.22。定义了项目的名称为 app_add。设置了项目使用的 C 标准为 C17。将当前 CMakeLists.txt 文件所在的目录路径赋值给 PROJECT_ROOT 变量。输出当前项目的根目录路径用于调试和确认路径是否正确。使用 file(GLOB …) 命令来收集 src 目录下的所有 .cpp 文件并将它们存储在 SRC_LIST 变量中。使用add_executable 命令创建一个可执行文件。指定可执行文件目标即${PROJECT_NAME}即app_add并指定了它的源文件列表为 SRC_LIST 变量中的文件。使用 target_include_directories 命令来指定 ${PROJECT_NAME}的包含目录。4 构建项目cdproject_rootmkdirbuildcdbuild cmake..make5 运行结果# 运行程序./app_add# 显示结果a:660b:6a b666

相关新闻

消息队列原理篇

消息队列原理篇

一、kafka kafka的架构有producer、zk、broker、consumer4个角色;broker里面放各个partition,各个broker组成一个kafka集群; consumer是以consumer group形式存在。 面试只要topic->partition->message就好,不要到里面的段了。 马消后的wq:其实消息有序性是很好理…

2026/7/3 7:39:42 阅读更多 →
MFC 基础

MFC 基础

windows桌面应用分为两种类型: 基于文档视图类型 和 基于对话框类型。 通常具有复杂交互控件的程序(比如有按钮,输入框,下拉框等)即为基于对话框类型,相对而言比较复杂,而基于文档视图类的应用一般是通过菜单栏&#x…

2026/7/3 0:32:40 阅读更多 →
VueCircleMenu:打造惊艳圆形菜单的终极Vue.js组件详解

VueCircleMenu:打造惊艳圆形菜单的终极Vue.js组件详解

VueCircleMenu:打造惊艳圆形菜单的终极Vue.js组件详解 【免费下载链接】VueCircleMenu :rabbit:A beautiful circle menu powered by Vue.js 项目地址: https://gitcode.com/gh_mirrors/vu/VueCircleMenu VueCircleMenu是一款基于Vue.js构建的精美圆形菜单组…

2026/7/2 23:32:24 阅读更多 →

最新新闻

ARI-PREDEX 调压控制器 ARI ARMATUREN Fig 12.705

ARI-PREDEX 调压控制器 ARI ARMATUREN Fig 12.705

在蒸汽、热水、中性流体工艺管网中,自力式压力调节设备是保障系统压力稳定、规避超压爆管、优化能耗的核心部件。德国 ARI ARMATUREN(艾瑞)旗下ARI-PREDEX Fig 12.705直通式隔膜执行超压调压控制器,依靠介质自身压力驱动&#xff…

2026/7/3 12:47:44 阅读更多 →
openeuler/kernel-docs实用教程:快速查找内核会议记录与技术资料

openeuler/kernel-docs实用教程:快速查找内核会议记录与技术资料

openeuler/kernel-docs实用教程:快速查找内核会议记录与技术资料 【免费下载链接】kernel-docs Its used to store kernel documents. 项目地址: https://gitcode.com/openeuler/kernel-docs 前往项目官网免费下载:https://ar.openeuler.org/ar/ …

2026/7/3 12:47:44 阅读更多 →
一键找回丢失的QQ空间记忆:GetQzonehistory完整使用指南

一键找回丢失的QQ空间记忆:GetQzonehistory完整使用指南

一键找回丢失的QQ空间记忆:GetQzonehistory完整使用指南 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 你是否曾经翻看QQ空间,发现多年前的说说早已消失不见&am…

2026/7/3 12:47:44 阅读更多 →
ParsecVDisplay:解锁Windows虚拟显示新姿势,告别多屏焦虑

ParsecVDisplay:解锁Windows虚拟显示新姿势,告别多屏焦虑

ParsecVDisplay:解锁Windows虚拟显示新姿势,告别多屏焦虑 【免费下载链接】parsec-vdd ✨ Perfect virtual display for game streaming 项目地址: https://gitcode.com/gh_mirrors/pa/parsec-vdd 你是否曾因物理显示器不足而苦恼?是否…

2026/7/3 12:43:21 阅读更多 →
LosslessCut无损编辑架构:FFmpeg GUI工具的技术革新与多场景应用

LosslessCut无损编辑架构:FFmpeg GUI工具的技术革新与多场景应用

LosslessCut无损编辑架构:FFmpeg GUI工具的技术革新与多场景应用 【免费下载链接】lossless-cut The swiss army knife of lossless video/audio editing 项目地址: https://gitcode.com/gh_mirrors/lo/lossless-cut 在传统视频编辑领域,重编码带…

2026/7/3 12:41:17 阅读更多 →
ParsecVDisplay虚拟显示器驱动架构深度解析:Windows高性能虚拟显示解决方案实战指南

ParsecVDisplay虚拟显示器驱动架构深度解析:Windows高性能虚拟显示解决方案实战指南

ParsecVDisplay虚拟显示器驱动架构深度解析:Windows高性能虚拟显示解决方案实战指南 【免费下载链接】parsec-vdd ✨ Perfect virtual display for game streaming 项目地址: https://gitcode.com/gh_mirrors/pa/parsec-vdd ParsecVDisplay是一款基于Parsec …

2026/7/3 12:41:17 阅读更多 →

日新闻

Nginx防御TLS重协商攻击实战:从原理到配置与监控

Nginx防御TLS重协商攻击实战:从原理到配置与监控

1. 项目概述:为什么TLS重协商攻击至今仍需警惕十多年前的CVE-2011-1473,一个关于TLS/SSL协议重协商机制的漏洞,现在提起来还有必要吗?很多运维和开发朋友可能会觉得,这都老掉牙了,现代服务器和客户端不都默…

2026/7/3 0:03:59 阅读更多 →
华为防火墙双通道远程管理实战:Web与SSH配置详解

华为防火墙双通道远程管理实战:Web与SSH配置详解

1. 项目概述:为什么需要双通道远程管理防火墙?在任何一个稍具规模的企业网络里,防火墙都是那个默默守护在边界的关键角色。作为网络工程师,我们不可能每次都跑到机房,插上console线去配置它。远程管理能力,…

2026/7/3 0:03:59 阅读更多 →
AD74413R与PIC18F65K40的高精度工业数据采集方案

AD74413R与PIC18F65K40的高精度工业数据采集方案

1. 项目概述:AD74413R与PIC18F65K40的协同工作在工业自动化和精密测量领域,同时实现高精度模数转换(ADC)和数模转换(DAC)功能是许多复杂系统的核心需求。AD74413R作为一款四通道可配置模拟输入/输出器件,与PIC18F65K40微控制器的组合&#xf…

2026/7/3 0:05:59 阅读更多 →

周新闻

月新闻