问题产生

  • 在ubuntu环境下运行C++代码,工程文件中CMakeLists文件显示要求cmake的版本最低是3.15,但是我的本地版本是3.11,虽然修改CMakelists文件为3.11也是可以编译通过,但是潜在的问题是未知的。

查看本地cmake的版本

  • cmake --version

错误做法

  • 卸载原来的cmake sudo apt-get autoremove cmake
  • 卸载会使得使用先前cmake编译的包文件全部卸载,这是极其危险的

正确做法

  • 从官网下载所需要的安装包 cmake的下载地址
  • 使用ubuntu环境,一般下载的文件的名字是 cmake-3.xx.xx-Linux-x86_64.tar.gz
  • 将压缩包移动到/opt/目录下,/opt里的文件则是安装系统后用户自己安装的其他应用软件,一般是源码包的软件,在当前下载的文件夹下就不可以
  • 进入/opt文件夹下,解压压缩包 tar -xvzf cmake-3.xx.xx-Linux-x86_64.tar.gz
  • 进入解压后的文件夹,cd cmake-3.xx.xx-Linux-x86_64
  • 里面会有四个目录 bin doc man share
  • 这个版本是免安装的,因此没有./configure 命令或者 ./bootstrap 命令
  • 配置~/.bashrc文件 使用命令gedit ~/.bashrc
  • 设置cmake的环境变量 export PATH=/opt/cmake-3.xx.xx-Linux-x86_64/bin:$PATH
  • 使用强制方式,建立软连接 ln -sf /opt/cmake-3.xx.x-Linux-x86_64/bin/* /usr/bin/
  • 在使用cmake时实际上就是调用了cmake-3.13.4-Linux-x86_64/bin/路径下的cmake来执行的,因此将这个bin下的所有文件全部软连接到/usr/bin/下面,这样就完成了sudo cmake的升级
  • 验证版本 cmake --version

参考链接

  • cmake的版本的更新以及和sudo cmake的区别

问题

  • 使用这个方式之后,发现在普通用户下还是之前的旧的版本,但是在root用户下是最新的版本
  • 导致sudo命令不可以使用,即使安装了也没有用。权限很高的命令,只可以通过切换root用户的方式进行使用,使用命令 su root

Linux ubuntu对于cmake的版本更新相关推荐

  1. linux ubuntu ssh,Linux(Ubuntu)安装ssh服务

    在终端(Ctrl + Alt + T )输入 $ps -e | grep ssh 看到 " ssh-agent " 和 "sshd" ,表示没有安装服务,或没有 ...

  2. Linux Ubuntu 安装编译Opencv 3.4.3 C++开发环境

    在安装Autoware之前,需要先安装Opencv,之前在Windows下安装了Opencv,挺复杂的.不过,在Ubuntu 16.04环境中配置安装Opencv相对来说,比较简单. Linux Ub ...

  3. linux没有图形界面opcv,关于Linux/ubuntu的环境下安装OpenCV并配置Clion【全套攻略】及关于'Opencv'file not found 的问题...

    1.如何在Linux/ubuntu配置OpenCV 1.1 :进入OpenCV官网下载:(也可进入git Hub 在终端Clone) 等待下载完成 1.2:安装OpenCV: 笔者下载的是Opencv ...

  4. Linux ubuntu 装openCV,Linux(ubuntu 16.04) 安装 opencv C++

    Linux(ubuntu 16.04) 安装 opencv C++ Linux(ubuntu 16.04) 安装 opencv C++ 参考文档: https://blog.csdn.net/qq_3 ...

  5. Linux Ubuntu 16.04 安装 yaml-cpp ROS 下参数服务器及yaml-cpp实现参数读写

    Linux Ubuntu 16.04 安装 yaml-cpp & ROS 下使用.yaml文件实现参数读写 0. 准备工作 1. 安装yaml-cpp 2. ROS中使用.yaml文件实现参数 ...

  6. linux Ubuntu KUbuntu 系统安装相关

    系统安装 本来想快到中午的时候调试一下服务器上的http请求接收代码.我的电脑上装的是kali的U盘系统,然后我的U盘居然找不到了(然后之前安装的系统不知道是否是写入软件的原因,没办法解析DNS,我都 ...

  7. 第一篇:linux(ubuntu)系统实操学习

    系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 TODO:写完再整理 文章目录 系列文章目录 前言 一.linux的认识 1.Linux的应用领域 2.Linux学习建 ...

  8. 无网络服务器(linux ubuntu),pip安装python科学计算所有需要包(packages)

    无网络服务器(linux ubuntu),pip安装python科学计算所有需要包(packages) # 在windows上打开anaconda,进入环境tab页,在base环境处单击,然后点开te ...

  9. linux环境变量管理器,运维 - linux(ubuntu) 环境变量管理 (持续更新)

    运维 - linux(ubuntu) 环境变量管理 (持续更新) 注: 本教程以 Ubuntu16.04 操作, 请细看. 如果看完还不明白, 联系我, 我给你发红包. 一, 查看环境变量: 方法 1 ...

最新文章

  1. 举个例子,如何用GCN图卷积神经网络实现摔倒监测?
  2. 金中半日baoling游-----stoi
  3. Touch - 全能名片王
  4. win2008 server_R2 自动关机 解决
  5. java 8 lambda_Java 8的烹调方式– Lambda项目
  6. P1133 教主的花园 (动态规划)
  7. Pod Preset玩转K8S容器时区自动配置 1
  8. P1047 [NOIP2005 普及组] 校门外的树(python3实现)
  9. 数据化风控中的核心指标与报表汇总
  10. 算法图解学习笔记02之选择排序
  11. JSP项目155套-开发专题-大作业设计-毕业设计【建议在校生收藏】(保持更新)
  12. swf转html5批量转换,gif转swf转换工具,gif转swf格式转换器|批量转换
  13. 互联网数据响应时间计算公式
  14. MacBook常用快捷键
  15. android实现地图功能实现,Android快速实现地图功能(不仅快!而且小!)
  16. 让终端支持播放mp3,移植mp3解码库libmad和madplay到嵌入式linux
  17. 一张图解决为什么校外访问不了学校购买的中国知网
  18. Springboot毕设项目地方特色美食小吃分享平台6iqqq(java+VUE+Mybatis+Maven+Mysql)
  19. web服务器的开发(简易版本)
  20. 使用 ssh 连接安装 Anaconda

热门文章

  1. Oracle客户端与java_Oracle 谈 JavaFX 及 Java 客户端技术的未来
  2. linux组成,Linux学习笔记之Linux组成及初识
  3. java java.lang_Java之java.lang.IllegalMonitorStateException
  4. python中osgeo库使用教程链接
  5. 【转】进阶 JavaScript 必知的 33 个点【进阶必备】
  6. 39策略模式(Strategy Pattern)
  7. gb2312编码在线转换_python基础学习—04字符串与编码
  8. c datatable导入mysql_《项目经验》–简单三层使用DataTable向数据库表批量导入数据—向SqlServer一张表中导入数据 | 学步园...
  9. json qbytearray 串 转_JSON数据采集网关,json转Modbus RTU串IO口RS485转4~20mA边缘计算智能终端...
  10. 【CH - 1401】 兔子与兔子(字符串哈希)