CentOS 7上安装CMake 3

CentOS 7官方的CMake版本较旧,新的C/C++项目要求至少为3。文章介绍了两种安装/升级CMake 3的方法,即从源码编译和从yum源安装,作者采用后者并给出安装脚本,还提醒安装命令及使用注意事项。

转载请注明文章出处:https://tlanyan.me/install-cmake3-on-centos-7/

CentOS 7上官方的CMake版本是2.8.12,比较旧。许多新的C/C++项目要求的最低版本至少是3,需要升级旧版本或者直接安装新版。

有两种方法可以安装/升级CMake 3:

  1. 从源码编译;CMake是开源软件,可从官方下载源代码,只要系统上安装了gcc/g++,编译安装即可。不方便之处是要下载、解压、编译和安装,一系列操作对新手可能有难度;另外升级也要进行同样的操作,略显繁琐;
  2. 从yum源安装。配置好yum源,yum install/update两条命令就可以方便的安装和升级。

本人采用的方法是第二种,以下是安装脚本,复制到终端上执行即可:

<pre><code class="bash">echo '[group_kdesig-cmake3_EPEL] name=Copr repo for cmake3_EPEL owned by @kdesig baseurl=https://copr-be.cloud.fedoraproject.org/results/@kdesig/cmake3_EPEL/epel-7-$basearch/ type=rpm-md skip_if_unavailable=True gpgcheck=1 gpgkey=https://copr-be.cloud.fedoraproject.org/results/@kdesig/cmake3_EPEL/pubkey.gpg repo_gpgcheck=0 enabled=1 enabled_metadata=1' &gt;&gt; /etc/yum.repos.d/cmake3.repo yum install cmake3 </code></pre>

注意安装的命令是cmake3,意味着不会覆盖系统上已有的cmake 2版本。使用时用cmake3替代cmake,例如:cmake3 .。如果想以后都用新版,在.bashrc等配置文件中加一个别名即可:alias cmake=cmake3

参考

  1. CMake 3.x for Centos 7, Red Hat Linux 7 ( Epel 7 )

转载于:https://my.oschina.net/u/1030865/blog/3065201

<think>首先,用户的问题是在CentOS 7系统上安装CMake 3.18.2版本的方法。我需要基于提供的引用信息来回答。 回顾引用: - 引用[1]: 描述了手动安装CMake的步骤: 1. 获取CMake源码:`wget https://github.com/Kitware/CMake/releases/download/v3.18.2/cmake-3.18.2.tar.gz` 2. 解压:`tar -zxvf cmake-3.18.2.tar.gz` 3. 切换到目录:`cd cmake-3.18.2` 4. 构建并编译:`./bootstrap` 然后 `make` 5. 安装:`sudo make install` 6. 提到如果遇到找不到OpenSSL的问题,安装OpenSSL:`yum -y install ncurses-devel` 和 `yum install openssl-devel` (需要root权限) - 引用[2]: 提到选择Linux源代码或二进制包,如`cmake-3.18.2.tar.gz`或`cmake-3.18.2-Linux-x86_64.tar.gz` - 引用[3]: 简要说明安装步骤:下载源码,安装openssl环境:`yum -y install openssl-devel` - 引用[4]: 提供了类似手动安装步骤: 1. 解压:`tar zxvf cmake-3.21.3.tar.gz` 2. 进入目录:`cd cmake-3.21.3` 3. 构建:`./bootstrap` 4. 编译:`gmake` (可能是make的别名) 5. 安装:`gmake install` 6. 链接环境变量:`ln -s /usr/local/bin/cmake /usr/bin/cmake` 7. 也提到下载二进制包的方法 - 引用[5]: 是关于MySQL安装的,无关,可以忽略。 用户指定要安装CMake 3.18.2版本,所以我应该聚焦在手动安装源码的方法上,因为引用中多次提到。 步骤总结: 1. **安装依赖项**:确保安装OpenSSL和其他可能的依赖。引用[1]中提到`yum -y install ncurses-devel openssl-devel`,需要root权限。 2. **下载源码**:使用wget下载CMake 3.18.2源码包。 3. **解压源码**:使用tar命令解压。 4. **编译和安装**:进入目录,运行`./bootstrap`,然后`make`,最后`sudo make install`。 5. **设置环境变量**:可能需要链接或添加到PATH。引用[4]中提到使用链接命令:`ln -s /usr/local/bin/cmake /usr/bin/cmake`以确保系统可以找到cmake。 额外考虑: - 用户是CentOS 7系统。 - 安装后验证:建议用户运行`cmake --version`检查安装是否成功。 - 二进制安装选项:引用[2]和[4]提到可以使用预编译的二进制包,如`cmake-3.18.2-Linux-x86_64.tar.gz`。下载后只需解压并添加到PATH即可,这可能更简单。 - 步骤:下载二进制包,解压,然后添加bin目录到PATH或链接到/usr/bin。 由于用户指定版本3.18.2,我应该提供两种方法:手动编译和二进制安装,让用户选择。 结构化回答: 1. **介绍**:简要说明方法。 2. **方法一:手动编译源码** - 安装依赖 - 下载源码 - 解压 - 编译和安装 - 设置环境变量 3. **方法二:使用预编译二进制包** - 下载二进制包 - 解压 - 添加到PATH或创建链接 4. **验证安装** 5. **相关问题**:根据系统级指令,生成相关问题。 使用中文回答,确保清晰。 确保LaTeX格式正确:所有行内数学表达式用$...$,独立公式用$$...$$。但在这个安装指南中,可能没有数学表达式,所以不需要。 生成相关问题: - 例如:编译过程中常见错误如何解决? - CMake版本检查方法? - 如何卸载旧版本CMake? 基于引用末尾添加引用标识,例如[^1]。 最终回答结构: - 开头回答用户问题。 - 提供步骤。 - 结尾添加相关问题。 </think>以下是针对在CentOS 7系统上安装CMake 3.18.2版本的详细方法。基于提供的引用信息[^1][^2][^3][^4],我将提供两种主流方法:**手动编译源码**(推荐用于自定义配置)和**使用预编译二进制包**(更快捷)。两种方法均需root权限,建议在终端中以root用户或通过`sudo`执行命令。 ### 方法一:手动编译源码(适合需要自定义选项) 此方法从源码编译安装,确保兼容性。步骤如下: 1. **安装依赖项** CMake编译依赖OpenSSL和ncurses等库。先更新系统并安装依赖: ```bash yum update -y yum install -y gcc gcc-c++ make ncurses-devel openssl-devel # 安装编译工具链和基础依赖[^1][^3] ``` 2. **下载CMake 3.18.2源码** 从官方GitHub仓库下载源码包: ```bash wget https://github.com/Kitware/CMake/releases/download/v3.18.2/cmake-3.18.2.tar.gz ``` 3. **解压源码并进入目录** ```bash tar -zxvf cmake-3.18.2.tar.gz cd cmake-3.18.2 ``` 4. **配置和编译** 运行bootstrap脚本生成Makefile,然后编译: ```bash ./bootstrap --prefix=/usr/local # 指定安装路径为/usr/local make # 编译过程可能持续数分钟,取决于系统性能 ``` 5. **安装CMake** ```bash make install # 需要root权限 ``` 6. **设置环境变量** 将CMake可执行文件链接到系统路径,确保全局可用: ```bash ln -s /usr/local/bin/cmake /usr/bin/cmake # 创建符号链接[^4] ``` ### 方法二:使用预编译二进制包(快捷简便) CMake提供Linux平台的预编译包,无需编译,直接解压即可使用。 1. **下载二进制包** 选择适用于CentOS的x86_64架构包: ```bash wget https://github.com/Kitware/CMake/releases/download/v3.18.2/cmake-3.18.2-Linux-x86_64.tar.gz ``` 2. **解压并安装** ```bash tar -zxvf cmake-3.18.2-Linux-x86_64.tar.gz -C /usr/local # 解压到/usr/local mv /usr/local/cmake-3.18.2-Linux-x86_64 /usr/local/cmake # 重命名目录 ``` 3. **设置环境变量** 将CMake的bin目录添加到PATH: ```bash echo &#39;export PATH=/usr/local/cmake/bin:$PATH&#39; >> /etc/profile # 永久生效 source /etc/profile # 立即生效当前会话 ``` **或**手动创建符号链接: ```bash ln -s /usr/local/cmake/bin/cmake /usr/bin/cmake ``` ### 验证安装 无论哪种方法,安装后运行以下命令检查版本: ```bash cmake --version ``` 输出应为:`cmake version 3.18.2`。 ### 注意事项 - **权限问题**:所有命令需root权限(使用`sudo`或在root用户下执行)[^1]。 - **依赖错误处理**:若编译时提示缺少OpenSSL(如`Could NOT find OpenSSL`),重新安装依赖:`yum reinstall -y openssl-devel`[^1][^3]。 - **卸载旧版本**:如果系统已安装旧版CMake,先卸载:`yum remove -y cmake`(仅适用于yum安装的版本)。 - **下载源可靠性**:GitHub下载可能慢,可替换为国内镜像(如阿里云),但确保URL一致[^2][^4]。 ### 相关问题 1. 编译CMake时遇到“Could NOT find OpenSSL”错误,如何解决?[^1][^3] 2. 如何升级CentOS 7上的CMake到更高版本(如3.25.0)?[^3][^4] 3. 使用二进制包安装与源码编译相比有何优缺点?[^2][^4] 4. 如何验证CMake安装后是否能正常编译简单C++项目?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值