Ubuntu18.04 CMake版本切换

Ubuntu 18.04的软件包仓库中,CMake的默认版本为3.10.2,若想升级CMake的版本为3.15,并且希望在3.10.2和3.15之间切换的话,请使用以下方法。

1.卸载现有的cmake 3.10.2(如果它是通过apt安装的)

sudo apt remove --purge cmake

2. 删除现有的cmake二进制文件(如果它不是符号连接)

sudo rm /usr/bin/cmake

3.下载cmake 3.10.2和cmake 3.15的预编译二进制文件

wget https://github.com/Kitware/CMake/releases/download/v3.10.2/cmake-3.10.2-Linux-x86_64.tar.gz
tar -zxvf cmake-3.10.2-Linux-x86_64.tar.gz

wget https://github.com/Kitware/CMake/releases/download/v3.15.0/cmake-3.15.0-Linux-x86_64.tar.gz
tar -zxvf cmake-3.15.0-Linux-x86_64.tar.gz

4.移动文件到/opt/目录

sudo mv cmake-3.10.2-Linux-x86_64 /opt/cmake-3.10
sudo mv cmake-3.15.0-Linux-x86_64 /opt/cmake-3.15

5.设置update-alternatives

update-alternatives是一个Debian系列(如 Ubuntu)系统中用来管理同一个功能的不同软件版本的工具。


                
<think>嗯,用户想在Ubuntu 18.04上同时安装和管理多个版本CMake。首先,我需要回想一下如何处理多个版本的软件安装和切换。记得之前看过用update-alternatives来管理不同版本的软件,比如CMake。那应该是一个可行的方法。 首先,用户需要安装多个版本CMake。可能用户已经通过源码或者其他方式安装了不同版本,或者需要指导如何安装。例如,用户可能需要安装CMake 3.10和3.20。这时候,源码编译可能是一个方法。比如,引用[2]中提到在编译OpenCV时使用了特定的CMake参数,这可能需要特定版本CMake。同样,引用[3]中的GVM安装也用到了CMake,可能也需要特定版本。 接下来,用户需要将这些不同版本CMake注册到update-alternatives系统中。这样,用户可以通过命令切换版本。比如,引用[1]中提到使用sudo update-alternatives --config cmake切换版本。这说明,只要正确配置了alternatives,切换是可行的。 然后,安装步骤可能需要先卸载现有的CMake,或者直接安装新版本。但更安全的方法应该是保留系统原有版本,同时添加新版本。用户需要下载不同版本CMake源码,编译安装到不同的目录,比如/usr/local/cmake-3.10.3和/usr/local/cmake-3.20.0,这样不会覆盖系统默认的路径。 然后,将每个安装好的CMake的可执行文件路径添加到alternatives中。例如,使用update-alternatives --install来添加每个版本,指定主路径和优先级。优先级高的版本会成为默认选项,除非用户手动切换。 最后,测试切换后的版本是否生效,使用cmake --version来验证当前版本是否正确。此外,用户可能需要处理依赖问题,比如在编译其他软件时,确保使用的CMake版本兼容。例如,引用[2]中编译OpenCV时,需要确保CMake版本符合要求。 另外,需要注意权限问题,安装和配置alternatives可能需要sudo权限。用户需要按照步骤正确执行命令,避免路径错误或权限不足的问题。如果用户遇到问题,可能需要检查路径是否正确,或者是否有遗漏的依赖库。 总结步骤应该是:安装所需版本CMake源码编译到不同目录,注册到alternatives系统,然后使用update-alternatives命令切换版本。同时,提醒用户注意环境变量和路径设置,确保切换后命令能正确找到对应版本。</think>### 如何在 Ubuntu 18.04 上同时安装和切换多个 CMake 版本 #### 步骤 1: 安装依赖和源码编译工具 ```bash sudo apt update sudo apt install build-essential libssl-dev ``` #### 步骤 2: 下载并编译多个 CMake 版本 以安装 CMake 3.10.3 和 3.20.0 为例: 1. **下载源码**: ```bash wget https://cmake.org/files/v3.10/cmake-3.10.3.tar.gz wget https://cmake.org/files/v3.20/cmake-3.20.0.tar.gz ``` 2. **编译安装**: ```bash # 安装 CMake 3.10.3 tar -xzvf cmake-3.10.3.tar.gz cd cmake-3.10.3 ./bootstrap --prefix=/usr/local/cmake-3.10.3 make -j$(nproc) sudo make install # 安装 CMake 3.20.0 cd .. tar -xzvf cmake-3.20.0.tar.gz cd cmake-3.20.0 ./bootstrap --prefix=/usr/local/cmake-3.20.0 make -j$(nproc) sudo make install ``` #### 步骤 3: 注册到 `update-alternatives` 系统 ```bash # 注册 CMake 3.10.3 sudo update-alternatives --install /usr/bin/cmake cmake /usr/local/cmake-3.10.3/bin/cmake 100 # 注册 CMake 3.20.0 sudo update-alternatives --install /usr/bin/cmake cmake /usr/local/cmake-3.20.0/bin/cmake 200 ``` #### 步骤 4: 切换 CMake 版本 ```bash sudo update-alternatives --config cmake ``` 通过输入对应编号选择版本,例如输入 `1` 或 `2`[^1]。 #### 步骤 5: 验证当前版本 ```bash cmake --version ``` ### 关键注意事项 1. **路径一致性**:编译时指定的安装路径(如 `/usr/local/cmake-x.x.x`)必须与注册到 `update-alternatives` 的路径一致[^2]。 2. **依赖兼容性**:不同项目可能需要特定 CMake 版本,例如 OpenCV 3.4.3 建议使用 CMake ≥3.5.1[^2]。 3. **环境变量**:若切换版本未生效,检查是否其他路径(如 `$HOME/.local/bin`)覆盖了系统路径。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值