在 Linux 上安装 CMake 的分步指南

在本文中,我们将学习在 Linux 上安装 cmake。 制作 是一个跨平台的开源元构建系统,可以构建、测试和打包软件。 它可用于支持多种原生构建环境,包括 Linux/Unix 中的 make、Apple 的 Xcode 和 Microsoft Visual Studio。

如何在 Linux 上安装 CMake?

如果您要在 Linux 中使用 CMake,您可能需要一个 C/C++ 编译器和 make 构建系统,因为 CMake 在 Linux 上生成“Makefiles”。 Makefile 包含编译程序和生成可执行文件的步骤。 这些工具的安装步骤取决于发行版。

我们将研究两种安装 CMake 的方法。

1. 使用 apt/dnf 等包管理器

注意:这样安装,安装的CMake版本会 通常是一个较老的.

对于 Ubuntu/Debian(及其衍生产品)

我们可以使用 apt 命令获取包及其依赖项的信息。 这样做是为了 cmake

$ apt show cmake 
apt 显示 cmake 输出

正如上面屏幕截图中突出显示的那样, cmake 建议安装 gcc (GNU 编译器集合)和 make. 它还建议了一些可选的包。 你需要安装 g++ 如果您正在处理 C++ 项目。

要使用 apt 命令安装 cmake 、 g++ 和 make ,请键入

$ sudo apt install cmake g++ make 
使用 apt 安装 cmake

请注意,在安装这些软件包时, gcc 包也安装了。

为了 Fedora/CentOS(基于 RedHat 的发行版及其衍生版)

安装 cmake , g++make 使用 dnf 命令,输入

$ sudo dnf install cmake gcc-c++ make 
Cmake 使用 Dnf Centos使用 dnf 安装 cmake

2.使用CMake官网

目前,CMake 的官方网站有两种在 Linux 上安装 CMake 的选项:

  • 一个 shell 脚本 (.sh 文件)
  • 一个 .tar.gz 档案

通过它们中的任何一个进行安装将为您提供最新版本的 CMake。 你仍然需要一个编译器(gcc/g++) 和 make. 您可以使用包管理器安装它们。 对于基于 Ubuntu/Debian 的发行版,请键入:

$ sudo apt install g++ make 

对于基于 RedHat 的发行版,请键入:

$ sudo dnf install gcc-c++ make 

为了 CentOS 8 基于系统,我们将使用 shell 脚本。 您可以通过单击 .sh 网站上的文件链接或使用 wget 命令 :

$ wget https://github.com/Kitware/CMake/releases/download/v3.18.2/cmake-3.18.2-Linux-x86_64.sh -O cmake.sh 

笔记: 该链接适用于撰写本文时最新版本的 CMake 并且将来可能会改变。

通常,在运行脚本之前检查脚本是个好主意。 为此,您可以在您选择的编辑器中打开它。 使用 nano 编辑器打开它:

$ nano cmake.sh 
查看 Cmake 脚本查看 CMake 脚本

通过脚本,它还包含 .tar.gz CMake 二进制文件的存档。 因此,它的大小(~40MB)。 该脚本就像一个“自解压存档”。 现在我们已经检查了脚本,我们可以使用以下命令从当前目录运行它:

$ sudo sh cmake.sh --prefix=/usr/local/ --exclude-subdir 
Cmake 安装使用脚本 1使用脚本安装 Cmake

上面的命令将安装 cmake 面向全球所有用户 /usr/local/binexclude-subdir 选项是摆脱在提取时产生的额外目录 .tar.gz 档案。

(你需要 tar 命令作为脚本使用它。 如果出现提示 tar: command not found ,通过键入安装它 $ sudo dnf install tar)

还, cmake 以这种方式安装时将不会由系统包管理器管理。 更新 cmake 对于任何新版本,您都需要重复此过程。

示例 CMake 项目

我们将创建一个使用 CMake 的简单 C++ Hello World 程序。 让我们首先为我们的项目创建一个不同的目录。 使用 mkdir 和 cd 命令:

$ mkdir projectzero; cd projectzero 

目前,该目录为空。 我们现在将创建一个名为的 C++ 源文件 hello_world.cpp 顾名思义,它只会打印 Hello World!

您可以使用您选择的编辑器。 我将使用纳米:

$ nano hello_world.cpp 
#include <iostream>  int main() { std::cout << "Hello World!" << std::endl; return 0 ; }  

现在我们将创建一个 CMakeLists.txt CMake 所需的文件(具有此确切大小写):

$ nano CMakeLists.txt 

项目的根目录( ~/projectzero 在这种情况下)必须包含一个 CMakeLists.txt 文件。 每一行在一个 CMakeLists.txt 文件有一个命令。

CMakeLists.txt 这个项目的文件非常简单,只包含以下三行:

cmake_minimum_required(VERSION 3.18) project(MyProject VERSION 0.0.1)  add_executable(hello hello_world.cpp) 

有一个单独的 build 可执行文件的目录。 所以,让我们这样做:

$ mkdir build 

项目结构现在看起来像这样:

项目结构项目结构

跑步 cmake 我们需要改变成 build 目录:

$ cd build $ cmake .. 
配置配置

.. 是父目录的别名并告诉 cmake 找到 CMakeLists.txt 父目录中的文件。 如果您在使用 CMake 时在任何地方看到 CXX,则它将 C++ 称为 CXX。

跑步 cmake .. 为 CMake 生成配置文件 projectzero/build . 我们可以列出内容 build 使用 ls 命令查看目录:

建立目录内容建立目录内容

现在我们只需键入以下内容即可生成可执行文件:

$ cmake --build . 
构建可执行文件构建可执行文件

键入以下命令运行可执行文件:

$ ./hello 
运行可执行文件运行可执行文件

恭喜您构建您的第一个 CMake 项目。 您可以在此 GitHub 个人资料中找到更多此类对初学者友好的 CMake 项目。

结论

在本文中,我们学习了如何在 Linux 上安装 CMake,并使用 CMake 创建了一个简单的 Hello World 程序。 CMake 是一个非常有用的 C/C++ 开发工具。 您可以在其文档中找到有关 CMake 的更多信息。