Linux ubuntu对于cmake的版本更新
问题产生
- 在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的版本更新相关推荐
- linux ubuntu ssh,Linux(Ubuntu)安装ssh服务
在终端(Ctrl + Alt + T )输入 $ps -e | grep ssh 看到 " ssh-agent " 和 "sshd" ,表示没有安装服务,或没有 ...
- Linux Ubuntu 安装编译Opencv 3.4.3 C++开发环境
在安装Autoware之前,需要先安装Opencv,之前在Windows下安装了Opencv,挺复杂的.不过,在Ubuntu 16.04环境中配置安装Opencv相对来说,比较简单. Linux Ub ...
- linux没有图形界面opcv,关于Linux/ubuntu的环境下安装OpenCV并配置Clion【全套攻略】及关于'Opencv'file not found 的问题...
1.如何在Linux/ubuntu配置OpenCV 1.1 :进入OpenCV官网下载:(也可进入git Hub 在终端Clone) 等待下载完成 1.2:安装OpenCV: 笔者下载的是Opencv ...
- 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 ...
- Linux Ubuntu 16.04 安装 yaml-cpp ROS 下参数服务器及yaml-cpp实现参数读写
Linux Ubuntu 16.04 安装 yaml-cpp & ROS 下使用.yaml文件实现参数读写 0. 准备工作 1. 安装yaml-cpp 2. ROS中使用.yaml文件实现参数 ...
- linux Ubuntu KUbuntu 系统安装相关
系统安装 本来想快到中午的时候调试一下服务器上的http请求接收代码.我的电脑上装的是kali的U盘系统,然后我的U盘居然找不到了(然后之前安装的系统不知道是否是写入软件的原因,没办法解析DNS,我都 ...
- 第一篇:linux(ubuntu)系统实操学习
系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 TODO:写完再整理 文章目录 系列文章目录 前言 一.linux的认识 1.Linux的应用领域 2.Linux学习建 ...
- 无网络服务器(linux ubuntu),pip安装python科学计算所有需要包(packages)
无网络服务器(linux ubuntu),pip安装python科学计算所有需要包(packages) # 在windows上打开anaconda,进入环境tab页,在base环境处单击,然后点开te ...
- linux环境变量管理器,运维 - linux(ubuntu) 环境变量管理 (持续更新)
运维 - linux(ubuntu) 环境变量管理 (持续更新) 注: 本教程以 Ubuntu16.04 操作, 请细看. 如果看完还不明白, 联系我, 我给你发红包. 一, 查看环境变量: 方法 1 ...
最新文章
- 举个例子,如何用GCN图卷积神经网络实现摔倒监测?
- 金中半日baoling游-----stoi
- Touch - 全能名片王
- win2008 server_R2 自动关机 解决
- java 8 lambda_Java 8的烹调方式– Lambda项目
- P1133 教主的花园 (动态规划)
- Pod Preset玩转K8S容器时区自动配置 1
- P1047 [NOIP2005 普及组] 校门外的树(python3实现)
- 数据化风控中的核心指标与报表汇总
- 算法图解学习笔记02之选择排序
- JSP项目155套-开发专题-大作业设计-毕业设计【建议在校生收藏】(保持更新)
- swf转html5批量转换,gif转swf转换工具,gif转swf格式转换器|批量转换
- 互联网数据响应时间计算公式
- MacBook常用快捷键
- android实现地图功能实现,Android快速实现地图功能(不仅快!而且小!)
- 让终端支持播放mp3,移植mp3解码库libmad和madplay到嵌入式linux
- 一张图解决为什么校外访问不了学校购买的中国知网
- Springboot毕设项目地方特色美食小吃分享平台6iqqq(java+VUE+Mybatis+Maven+Mysql)
- web服务器的开发(简易版本)
- 使用 ssh 连接安装 Anaconda
热门文章
- Oracle客户端与java_Oracle 谈 JavaFX 及 Java 客户端技术的未来
- linux组成,Linux学习笔记之Linux组成及初识
- java java.lang_Java之java.lang.IllegalMonitorStateException
- python中osgeo库使用教程链接
- 【转】进阶 JavaScript 必知的 33 个点【进阶必备】
- 39策略模式(Strategy Pattern)
- gb2312编码在线转换_python基础学习—04字符串与编码
- c datatable导入mysql_《项目经验》–简单三层使用DataTable向数据库表批量导入数据—向SqlServer一张表中导入数据 | 学步园...
- json qbytearray 串 转_JSON数据采集网关,json转Modbus RTU串IO口RS485转4~20mA边缘计算智能终端...
- 【CH - 1401】 兔子与兔子(字符串哈希)