Linux下CMake 安装教程

本文详细介绍了在Linux环境下如何安装CMake,包括使用apt和源码编译两种方式,并通过编写CMakeLists.txt和main.cpp文件,展示了CMake构建并运行Hello World程序的完整步骤。

CMake 简介

        CMake 是一个跨平台的自动化建构系统
        其使用一个名为 CMakeLists.txt 的文件来描述构建过程,可以产生标准的构建文件,如 Unix 的 Makefile 或Windows Visual C++ 的 projects/workspaces 。文件 CMakeLists.txt 需要手工编写,也可以通过编写脚本进行半自动的生成。CMake 提供了比 autoconfig 更简洁的语法。在 linux 平台下使用 CMake 生成 Makefile 并编译的流程如下:
1、编写 CmakeLists.txt
2、执行命令“cmake PATH”或者“ccmake PATH”生成 Makefile ( PATH 是 CMakeLists.txt 所在的目录 )。当然也可以直接在CMakeLists.txt所在目录下直接执行
### LinuxCMake 的基本使用教程 CMake 是一种强大的跨平台构建工具,能够帮助开发者简化复杂项目的配置和构建过程。以下是关于如何在 Linux 系统下使用 CMake 进行项目管理的详细介绍。 #### 1. 安装 CMake 为了能够在 Linux 上使用 CMake,首先需要确认系统中已安装该软件。可以通过以下命令来检查版本号: ```bash cmake --version ``` 如果未安装,则可通过包管理器进行安装。例如,在基于 Debian/Ubuntu 的发行版中可运行以下命令[^2]: ```bash sudo apt update && sudo apt install cmake ``` 对于其他发行版(如 CentOS 或 Fedora),可以分别使用 `yum` 或 `dnf` 来完成安装操作。 #### 2. 创建简单的 C++ 项目并设置 CMakeLists.txt 文件 假设有一个名为 `hello.cpp` 的简单源文件,内容如下所示: ```cpp #include <iostream> int main() { std::cout << "Hello, world!" << std::endl; return 0; } ``` 接下来创建一个基础的 `CMakeLists.txt` 文件用于描述该项目结构以及编译选项: ```cmake # 设置最低支持的 CMake 版本 cmake_minimum_required(VERSION 3.10) # 定义项目名称及其主要编程语言 project(MyFirstProject LANGUAGES CXX) # 添加可执行目标 add_executable(hello hello.cpp) ``` 此脚本指定了所需的最小 CMake 版本、定义了一个新项目,并声明了要生成的目标——即由单个源文件组成的可执行程序 `hello`. #### 3. 构建流程概述 一旦准备好所有的必要文件之后就可以按照下面的标准步骤来进行实际的构建: - **创建单独目录存放输出物** 为了避免污染原始代码树,建议先新建子目录专门存储中间产物与最终成果。 ```bash mkdir build && cd build ``` - **调用 CMake 配置环境** 在此阶段指定根路径下的 `CMakeLists.txt` 并初始化整个体系架构。 ```bash cmake .. ``` - **启动 Make 工具链实施具体动作** 最后一步便是借助本地化的 GNU Make 实现自动化装配流水线。 ```bash make ``` 成功完成后应该可以在同一级看到刚产生的二进制文档 `./hello` ,尝试直接执行验证功能是否正常运作即可。 --- #### 4. 扩展:添加静态库或动态库的支持 当涉及更复杂的场景比如引入外部资源或者封装内部逻辑成模块化组件形式时,就需要额外考虑链接第三方档案或是自行打造专属资料库等情况。这里仅示范怎样加入预设好的 `.a/.so` 类型物件作为依赖项的一部分参与进来。 修改后的清单可能看起来像这样: ```cmake ... set(SOURCES src/main.cpp src/utils.cpp) # 新增辅助函数集合体成为共享实体 add_library(mylib SHARED ${SOURCES}) target_include_directories(mylib PUBLIC include/) ... # 将先前建立之 mylib 推荐给主应用程序认识彼此间关联性 add_executable(application bin/app_main.cpp) target_link_libraries(application PRIVATE mylib) ``` 以上片段展示了如何把多个 cpp 单元组合起来形成独立单元再与其他部分相互作用的过程[^1]。 --- #### 结论 综上所述,利用 CMake 可以极大地提高工作效率减少重复劳动强度的同时还具备高度灵活性适应不同需求变化趋势。希望这份指南能对你有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值