在本文中,我们将学习在 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
正如上面屏幕截图中突出显示的那样, cmake
建议安装 gcc
(GNU 编译器集合)和 make
. 它还建议了一些可选的包。 你需要安装 g++
如果您正在处理 C++ 项目。
要使用 apt 命令安装 cmake 、 g++ 和 make ,请键入:
$ sudo apt install cmake g++ make
请注意,在安装这些软件包时, gcc
包也安装了。
为了 Fedora/CentOS(基于 RedHat 的发行版及其衍生版)
安装 cmake
, g++
和 make
使用 dnf
命令,输入:
$ sudo dnf install cmake gcc-c++ make
![Cmake 使用 Dnf Centos](/wp-content/uploads/2022/06/1641233630.png)
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 脚本](/wp-content/uploads/2022/06/1641233631.png)
通过脚本,它还包含 .tar.gz
CMake 二进制文件的存档。 因此,它的大小(~40MB)。 该脚本就像一个“自解压存档”。 现在我们已经检查了脚本,我们可以使用以下命令从当前目录运行它:
$ sudo sh cmake.sh --prefix=/usr/local/ --exclude-subdir
![Cmake 安装使用脚本 1](/wp-content/uploads/2022/06/1641233633.png)
上面的命令将安装 cmake
面向全球所有用户 /usr/local/bin
和 exclude-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
项目结构现在看起来像这样:
![项目结构](/wp-content/uploads/2022/06/1641233634.png)
跑步 cmake
我们需要改变成 build
目录:
$ cd build $ cmake ..
![配置](/wp-content/uploads/2022/06/1641233635.png)
这 ..
是父目录的别名并告诉 cmake
找到 CMakeLists.txt
父目录中的文件。 如果您在使用 CMake 时在任何地方看到 CXX,则它将 C++ 称为 CXX。
跑步 cmake ..
为 CMake 生成配置文件 projectzero/build
. 我们可以列出内容 build
使用 ls 命令查看目录:
![建立目录内容](/wp-content/uploads/2022/06/1641233637.png)
现在我们只需键入以下内容即可生成可执行文件:
$ cmake --build .
![构建可执行文件](/wp-content/uploads/2022/06/1641233638.png)
键入以下命令运行可执行文件:
$ ./hello
![运行可执行文件](/wp-content/uploads/2022/06/1641233639.png)
恭喜您构建您的第一个 CMake 项目。 您可以在此 GitHub 个人资料中找到更多此类对初学者友好的 CMake 项目。
结论
在本文中,我们学习了如何在 Linux 上安装 CMake,并使用 CMake 创建了一个简单的 Hello World 程序。 CMake 是一个非常有用的 C/C++ 开发工具。 您可以在其文档中找到有关 CMake 的更多信息。