使用 CMake 和 Ninja 构建 C/C++ 项目的教程

使用 CMake 和 Ninja 构建 C/C++ 项目的教程

CMake 是一个跨平台的开源构建工具,它简化了项目的构建过程。而 Ninja 是一个快速、轻量级的构建系统,与 CMake 配合使用可以提高项目的构建效率。本教程将向你介绍如何使用 CMake 和 Ninja 来构建你的 C/C++ 项目。
在这里插入图片描述

1. 安装 CMake 和 Ninja

首先,确保你的系统中已经安装了 CMake 和 Ninja。你可以使用包管理器进行安装:

  • 在 Ubuntu 上:

    bashCopy code
    sudo apt-get install cmake ninja-build
    
  • 在 macOS 上,使用 Homebrew:

    bashCopy code
    brew install cmake ninja
    
  • 在 Windows 上,你可以使用 CMake 官网 下载并安装 CMake,而 Ninja 则可以通过 GitHub Release 下载预编译的二进制文件。

2. 创建 CMakeLists.txt 文件

在你的项目根目录下创建一个 CMakeLists.txt 文件。这个文件描述了项目的结构和构建过程。

cmakeCopy code
# CMake 最低版本要求
cmake_minimum_required(VERSION 3.12)# 项目名称
project(MyProject)# 添加可执行文件
add_executable(MyExecutable main.cpp)# 添加其他源文件、头文件等# 指定 C++ 标准
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

3. 创建构建目录

在你的项目根目录外,创建一个用于构建的目录。例如:

bashCopy code
mkdir build
cd build

4. 运行 CMake

在构建目录中运行 CMake 命令:

bashCopy code
cmake -G Ninja ..

这会生成 Ninja 所需的构建文件。

5. 运行 Ninja 构建

在构建目录中运行 Ninja 构建命令:

bashCopy code
ninja

这将编译并构建你的项目。

6. 运行可执行文件

构建完成后,你可以在构建目录中找到生成的可执行文件,然后运行它:

bashCopy code
./MyExecutable

通过按照以上步骤,你就成功使用 CMake 和 Ninja 构建了你的 C/C++ 项目。这个教程提供了一个基础的起点,你可以根据自己项目的需求进一步扩展和优化 CMakeLists.txt 文件。

7. 安装

ninja install

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/344127.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

matlab/simulink风电光伏储能虚拟同步机VSG下垂控制虚拟惯量控制,光伏变压减载控制一次调频二次调频研究,储能下垂控制SOC

非无穷大系统! 第一个介绍风光储VSG算例研究。 其中风机采用虚拟惯性控制,下垂控制,网侧采用VSG虚拟同步机控制。储能下垂控制。 上述结果为整个系统的仿真波形,包括频率,pmsg永磁风机出力,储能出力&…

无重复字符的最长字串

题目 给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。 示例 示例 1: 输入: s "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2: 输入: s "bbbbb" 输出: 1 解…

揭露欧拉骗局4.“Σ1/n²=π²/6”里的猫腻

自然数平方倒数求和Σ1/n是一个并不复杂的问题,但它困扰了欧洲大陆整整90年,在欧系数学里它被称为“巴塞尔级数”。 解决巴塞尔级数让欧拉一战成名,然而欧拉采用的方法对数学这门学问是严重的侮辱。数学是工具学科,数学的宗旨是化…

聚焦老年生活与健康,“老有所依·情暖夕阳”元岗街社区微型养老博览会顺利开展

尊老敬老是中华民族的传统美德, 爱老助老是全社会的共同责任。 家有一老,如有一宝, 长者的生活情况是一个家庭的头等大事, 做好长者服务是街道和社区的重要工作。 2024年1月6日,由元岗街道党工委、元岗街道办事处、…

挑选知识付费平台,只需掌握这几招

明理信息科技知识付费saas租户平台 随着知识经济的兴起,越来越多的人开始重视知识付费,并希望通过打造自己的知识付费平台来实现自己的知识变现。本文将介绍如何打造自己的知识付费平台,并从定位、内容制作、渠道推广、运营维护四个方面进行…

【PyQt小知识 - 8】:QFileDialog — 文件选择对话框(选择文件夹/文件)

文章目录 QFileDialog的介绍和使用 QFileDialog的介绍和使用 QFileDialog是Qt框架中提供的一个文件选择对话框。它可以让用户通过图形界面的方式选择文件或目录,并提供了许多与文件操作相关的实用功能,例如文件过滤、文件类型限制、文件名默认值、默认目…

12.8-1.8

2023.12.8 redis容器 docker run -p 6379:6379 --name redis -v /mydata/redis/data:/data -v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf -d redis redis-server /etc/redis/redis.conf redis.conf不存在,需先在宿主机创建该目录下文件&#xff0c…

【回顾2023,展望2024】砥砺前行

2023年总结 转眼间,迎来了新的一年2024年,回顾2023,对于我来说是一个充满平凡但又充实又幸运的一年。这一年经历了很多的事情,包括博客创作、技术学习、出书、买房等,基本上每件事情都是一个前所未有的挑战和机遇、使…

clickhouse join查询算法

算法对比: 使用方法: SELECT town,max(price) AS max_price,any(population) AS population FROM uk_xxx_paid JOIN uk_xxx_table ON lower(uk_price_paid.town) lower(uk_populations_table.city) GROUP BY town ORDER BY max_price DESC SETTINGS jo…

ChatGLM3在windows上部署

1 项目地址 https://github.com/THUDM/ChatGLM3 简介:ChatGLM3 是智谱AI和清华大学 KEG 实验室联合发布的新一代对话预训练模型。 2 本机配置 台式机: CPU: Intel(R) Core(TM) i7-10700F RAM: 32G GPU: NV…

科技顶天,市场立地 。璞华科技“顶天立地”的成长之路

科技顶天,市场立地。 几十年来,我们越来越深刻地认识到,这就是真理,质朴而深刻。尤其在当前特殊的国际国内商业环境中,这一理念不但没有过时,反而恰逢其时。有这么一家企业,一直践行“科技顶天…

【分块模板】P2068统计和

题目传送门:统计和 - 洛谷 题目大意 给定一个长度为 n,初始值都为 0 的序列 ,有w次操作,每次操作: x a b 表示将a的值加上b,y a b 表示查询a到b的数字和。 思路 这题其实有很多做法,包括线…