Cmake升级 更新 Ubuntu16.04 + ROS

已经安装ros后,不能参照这个博客 Ubuntu更新cmake版本使用指令

sudo apt-get update

sudo apt-get remove cmake

sudo apt-get install cmake

cmake --version

这是因为ros安装后,有许多依赖cmake程序,因此不能直接删除原有cmake 文件,应该参照Cmake升级 更新 Ubuntu16.04 + ROS文章操作。

  1. 首先去官网cmake下载官网下载所需版本。
    下载后解压文件
tar -xvzf cmake-3.22.1.tar.gz
  1. 进入解压后的文件目录,执行指令:
chmod 777 ./configure
./configure

配置成功之后显示:CMake has bootstrapped. Now run make.

  1. 执行指令,make 后可以跟j8(该参数与自己电脑有关,查询自己电脑有几个核指令为:“ grep ‘processor’ /proc/cpuinfo | sort -u | wc -l” ),用多核加速可以提高编译速度。
make
  1. 运行安装指令
sudo make install
  1. 查看当前版本是否安装成功,当前版本的安装路径为 /usr/local/bin/cmake,因此查看当前安装位置的cmake 版本指令为
/usr/local/bin/cmake --version

结果显示为

--version
cmake version 3.27.4

CMake suite maintained and supported by Kitware (kitware.com/cmake).
  1. 最后使用新安装的cmake替换旧版本,其中/usr/local/bin/cmake为新安装的cmake目录。
sudo update-alternatives --install /usr/bin/cmake cmake /usr/local/bin/cmake 40

备注: Linux 多版本软件管理工具update-alternatives使用介绍介绍了update-alternatives指令用法,数字越大,优先级越高
示例代码ubuntu: update-alternatives配置
update-alternatives --install <link> <name> <path> <priority> [--force]

# 注册python2.7
update-alternatives --install /usr/bin/python python /usr/bin/python2.7 2
# 注册python3
update-alternatives --install /usr/bin/python python /usr/local/bin/python3 3

第一个参数–install表示向update-alternatives注册服务名。

第二个参数是注册最终地址,成功后将会把命令在这个固定的目的地址做真实命令的软链,以后管理就是管理这个软链;

第三个参数:服务名,以后管理时以它为关联依据。

第四个参数,被管理的命令绝对路径。

第五个参数,优先级,数字越大优先级越高。
sudo update-alternatives --install /usr/bin/cmake cmake /usr/local/cmake/bin/cmake 50
# /usr/bin/cmake 为链接的名字
# cmake 指定在 alternatives 文件夹下的名字
# path 为实际文件路径
# priority 给当前的实际文件指定一个值,值越大,权限越高

# 切换版本,以 cmake 为例
update-alternatives --config cmake

# 查看已有的 alternatives 配置
update-alternatives --list cmake
# or,
update-alternatives --display cmake
  1. 测试cmake版本:实际本人修改后并没有成功,采用了简单粗暴的方法,在cmake切换版本使用时,直接加上路径,使用指定路径的cmake。确实可以用,想用默认版本就不加cmake路径。sudo /usr/local/bin/cmake
    如:
sudo /usr/local/bin/cmake -D CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/g++ -D CMAKE_C_COMPILER:FILEPATH=/usr/bin/gcc -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local/opencv3  -D OPENCV_EXTRA_MODULES_PATH=/home/xiujie/SLAM_Lib/opencv-3.4.16/opencv_contrib-3.4.16/modules/ -D OPENCV_GENERATE_PKGCONFIG=YES -D OPENCV_ENABLE_NONFREE=True .. 
cmake --version
# cmake version 3.22.1
 
# CMake suite maintained and supported by Kitware (kitware.com/cmake).
  1. 实际上,根据链接ubuntu16.04升级cmake版本,可任意切换版本
    可以通过修改软连接来使用不同的cmake版本,本人试了没用。
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值