Ubuntu Linux 下安装和卸载cmake 3.28.2版本
一、安装cmake
1.首先,先从cmake官网下载cmake-3.28.2-linux-x86_64.tar.gz
2.用FinalShell 等文件上传工具,将这个压缩包上传到 虚拟机的某个路径去(自选)
3. cd /usr/local/bin/,然后创建cmake文件夹,执行的命令是:mkdir cmake
4.执行解压命令:sudo tar -zxvf cmake-3.28.2-linux-x86_64.tar.gz
5. cd cmake-3.28.2-linux-x86_64
6.sudo cp -r ./* /usr/local/bin/cmake
7.vim ~/.bashrc
- 按下shift+g,来到文件最后一行,在最后一行写下:
export PATH=$PATH:/usr/local/bin/cmake/bin/

8.source ~/.bashrc
9.cmake --version
heheda@linux:/usr/src$ cd cmake-3.28.2-linux-x86_64
heheda@linux:/usr/src/cmake-3.28.2-linux-x86_64$ sudo cp -r ./* /usr/local/bin/cmake
heheda@linux:/usr/src/cmake-3.28.2-linux-x86_64$ vim ~/.bashrc
heheda@linux:/usr/src/cmake-3.28.2-linux-x86_64$ source ~/.bashrc
heheda@linux:/usr/src/cmake-3.28.2-linux-x86_64$ cmake --version
cmake version 3.28.2CMake suite maintained and supported by Kitware (kitware.com/cmake).
heheda@linux:/usr/src/cmake-3.28.2-linux-x86_64$
二、卸载CMake
sudo apt-get remove cmake
三、直接安装CMake,但是安装的版本有可能不满足需求,我直接安装是3.10.2版本
heheda@linux:~/Linux$ sudo apt-get install cmake
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
将会同时安装下列软件:cmake-data librhash0 libuv1
建议安装:cmake-doc ninja-build
下列【新】软件包将被安装:cmake cmake-data librhash0 libuv1
升级了 0 个软件包,新安装了 4 个软件包,要卸载 0 个软件包,有 16 个软件包未被升级。
需要下载 4,626 kB 的归档。
解压缩后会消耗 24.6 MB 的额外空间。
您希望继续执行吗? [Y/n] y
获取:1 http://mirrors.tuna.tsinghua.edu.cn/ubuntu bionic-updates/main amd64 cmake-data all 3.10.2-1ubuntu2.18.04.2 [1,332 kB]
获取:2 http://mirrors.tuna.tsinghua.edu.cn/ubuntu bionic/main amd64 librhash0 amd64 1.3.6-2 [78.1 kB]
获取:3 http://mirrors.tuna.tsinghua.edu.cn/ubuntu bionic/main amd64 libuv1 amd64 1.18.0-3 [64.4 kB]
获取:4 http://mirrors.tuna.tsinghua.edu.cn/ubuntu bionic-updates/main amd64 cmake amd64 3.10.2-1ubuntu2.18.04.2 [3,152 kB]
已下载 4,626 kB,耗时 2秒 (2,682 kB/s)
正在选中未选择的软件包 cmake-data。
(正在读取数据库 ... 系统当前共安装有 181985 个文件和目录。)
正准备解包 .../cmake-data_3.10.2-1ubuntu2.18.04.2_all.deb ...
正在解包 cmake-data (3.10.2-1ubuntu2.18.04.2) ...
正在选中未选择的软件包 librhash0:amd64。
正准备解包 .../librhash0_1.3.6-2_amd64.deb ...
正在解包 librhash0:amd64 (1.3.6-2) ...
正在选中未选择的软件包 libuv1:amd64。
正准备解包 .../libuv1_1.18.0-3_amd64.deb ...
正在解包 libuv1:amd64 (1.18.0-3) ...
正在选中未选择的软件包 cmake。
正准备解包 .../cmake_3.10.2-1ubuntu2.18.04.2_amd64.deb ...
正在解包 cmake (3.10.2-1ubuntu2.18.04.2) ...
正在设置 libuv1:amd64 (1.18.0-3) ...
正在设置 cmake-data (3.10.2-1ubuntu2.18.04.2) ...
正在设置 librhash0:amd64 (1.3.6-2) ...
正在设置 cmake (3.10.2-1ubuntu2.18.04.2) ...
正在处理用于 man-db (2.8.3-2ubuntu0.1) 的触发器 ...
正在处理用于 libc-bin (2.27-3ubuntu1.6) 的触发器 ...
heheda@linux:~/Linux$ cmake --version
cmake version 3.10.2CMake suite maintained and supported by Kitware (kitware.com/cmake).
heheda@linux:~/Linux$
参考和推荐文章:
ubuntu cmake安装与卸载_ubuntu卸载源码安装的cmake-CSDN博客
https://blog.csdn.net/tiger_panda/article/details/124005421linux安装指定版本的cmake-CSDN博客
https://blog.csdn.net/u012308586/article/details/105225816
ubuntu下如何安装cmake?cmake简单使用详解 - Python技术站 (pythonjishu.com)
https://pythonjishu.com/dufzgbesfnqluvy/
CMake常用的预定义变量PROJECT_NAME:通过project()指定项目名称PROJECT_SOURCE_DIR 工程的根目录PROJECT_BINARY_DIR 执行cmake命令的目录CMAKE_CURRENT_SOURCE_DIR 当前处理的CMakeLists.txt所在的目录CMAKE_CURRENT_BINARY_DIR 编译目录,可使用add add_subdirectory来修改EXECUTABLE_OUTPUT_PATH 重新定义目标二进制可执行文件的存放位置LIBRARY_OUTPUT_PATH 重新定义目标链接库文件的存放位置BUILD_SHARED_LIBS 默认的库编译方式(shared 或 static),默认为staticCMAKE_C_FLAGS 设置C编译选项CMAKE_CXX_FLAGS 设置C++编译选项CMAKE_CXX_FLAGS_DEBUG 设置C++ Debug编译选项CMAKE_CXX_FLAGS_RELEASE 设置C++ Release编译选项CMAKE_GENERATOR 指定CMake生成器,比如Unix Makefiles、MinGW Makefiles、NMake Makefiles、Visual Studio 10 2010、Visual Studio 12 2013、Visual Studio 14 2015、Visual Studio 15 2017、Xcode等CMAKE_COMMAND CMake可执行文件本身的全路径CMAKE_BUILD_TYPE 工程编译生成的版本,Debug或Release
相关文章:
Ubuntu Linux 下安装和卸载cmake 3.28.2版本
一、安装cmake 1.首先,先从cmake官网下载cmake-3.28.2-linux-x86_64.tar.gz 2.用FinalShell 等文件上传工具,将这个压缩包上传到 虚拟机的某个路径去(自选) 3. cd /usr/local/bin/,然后创建cmake文件夹,…...
【C++】类和对象3:默认成员函数之析构函数
前言 这篇文章我们来学习默认成员函数中的析构函数 概念 析构函数:与构造函数功能相反,析构函数不是完成对对象本身的销毁,局部对象销毁工作是由编译器完成的。而对象在销毁时会自动调用析构函数,完成对象中资源的清理工作。 …...
2024美赛C题完整解题教程及代码 网球运动的势头
2024 MCM Problem C: Momentum in Tennis (网球运动的势头) 注:在网球运动中,"势头"通常指的是比赛中因一系列事件(如连续得分)而形成的动力或趋势,这可能对比赛结果产生重要影响。球…...
二、人工智能之提示工程(Prompt Engineering)
黑8说 岁月如流水匆匆过,哭一哭笑一笑不用说。 黑8自那次和主任谈话后,对这个“妖怪”继续研究,开始学习OpenAI API!关注到了提示工程(Prompt Engineering)的重要性,它包括明确的角色定义、自然语言理解(…...
【leetcode题解C++】98.验证二叉搜索树 and 701.二叉搜索树中的插入操作
98. 验证二叉搜索树 给你一个二叉树的根节点 root ,判断其是否是一个有效的二叉搜索树。 有效 二叉搜索树定义如下: 节点的左子树只包含 小于 当前节点的数。节点的右子树只包含 大于 当前节点的数。所有左子树和右子树自身必须也是二叉搜索树。 示例…...
【Vue.js设计与实现】第二篇:响应系统-阅读笔记(持续更新)
从高层设计的角度去探讨框架需要关注的问题。 系列目录: 标题博客第一篇:框架设计概览【Vue.js设计与实现】第一篇:框架设计概览-阅读笔记第二篇:响应系统【Vue.js设计与实现】第二篇:响应系统-阅读笔记第三篇&#x…...
微信小程序之本地生活案例的实现
学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。各位小伙伴,如果您: 想系统/深入学习某技术知识点… 一个人摸索学习很难坚持,想组团高效学习… 想写博客但无从下手,急需…...
智能决策的艺术:探索商业分析的最佳工具和方法
文章目录 一、引言二、商业分析思维概述三、数据分析在商业实践中的应用四、如何培养商业分析思维与实践能力五、结论《商业分析思维与实践:用数据分析解决商业问题》亮点内容简介作者简介目录获取方式 一、引言 随着大数据时代的来临,商业分析思维与实…...
C#(C Sharp)学习笔记_前言及Visual Studio Code配置C#运行环境【一】
前言 这可以说是我第一次正式的踏入C#的学习道路,我真没想过我两年前是怎么跳过C#去学Unity3D游戏开发的(当然了,游戏开发肯定是没有成功的,都是照搬代码)。而现在,我真正地学习一下C#,就和去年…...
政安晨的AI笔记——Bard大模型最新提示词创作绘画分析
AI大模型进入商业应用元年后的第一年,顶级模型大混战终于开始了。 Bard在追赶OpenAI的过程中,还是补上了画图的短板。 (相比于视频的5阶张量处理而言,图画做为4阶张量处理虽然不新鲜,但却是跨不过去的基础条件&#…...
基础算法bfs -剪枝问题
问题描述:一个迷宫有 NXM 格,有一些格子是地板,能走;有一些格子是障碍,不能走。给一个起点S和一个终点D。一只小狗从 S出发,每步走一块地板,在每块地员不能停留,而且走过的地板都不能再走。给定一个 T,问小狗能正好走 T步到达D吗?输入:有很多测试样例。…...
在Meteor Lake上测试基于Stable Diffusion的AI应用
上个月刚刚推出的英特尔新一代Meteor Lake CPU,预示着AI PC的新时代到来。AI PC可以不依赖服务器直接在PC端处理AI推理工作负载,例如生成图像或转录音频。这些芯片的正式名称为Intel Core Ultra处理器,是首款配备专门用于处理人工智能任务的 …...
情人节心动礼物:共度情人节美好时刻的礼物推荐
情人节,这个充满浪漫与爱意的特殊日子,总是让人心跳加速,期待着与爱人共享甜蜜时光。在这一天,送出一份精心挑选的礼物,不仅能够表达你对另一半无尽的爱意,更能让这份爱升华,成为你们爱情故事中…...
远程手机搭建Termux环境,并通过ssh连接Termux
背景 Termux只能通过鼠标点击,无法使用电脑键盘,输入速度很慢,你想通过ssh 连接Termux,获得友好体验搞了个云手机,想像普通手机那样充当服务器想把自己的手机公开到局域网中供同事调试想把自己的模拟器公开到局域网中…...
基于EdgeWorkers的边缘应用如何进行单元测试?
随着各行各业数字化转型的持续深入,越来越多企业开始选择将一些应用程序放在距离最终用户更近的边缘位置来运行,借此降低延迟,提高应用程序响应速度,打造更出色的用户体验。 相比传统集中部署和运行的方式,这种边缘应…...
【linux】校招中的“熟悉linux操作系统”一般是指达到什么程度?
这样,你先在网上找一套完整openssh升级方案(不是yum或apt的,要源码安装的),然后在虚拟机上反复安装测试,直到把他理解了、背下来。 面试的时候让你简单说说linux命令什么的,你就直接把这个方案…...
【CSS系列】常用容易忽略的css
user-select user-select 是一个 CSS 属性,用于控制用户是否可以选择文本。通过设置 user-select 的值,可以决定用户是否可以选择元素中的文本,以及如何选择文本。 auto:默认值。浏览器可以选择文本。none:用户不能选…...
Java 数据结构 二叉树(二)红黑树
目录 数据结构图-树 简介 规则 旋转 重新着色 红黑树构建过程 前言-与正文无关 生活远不止眼前的苦劳与奔波,它还充满了无数值得我们去体验和珍惜的美好事物。在这个快节奏的世界中,我们往往容易陷入工作的漩涡,忘记了停下脚步…...
React18-完成弹窗封装
弹框封装 用法 // 创建 userRef.current?.open(create) // 修改 userRef.current?.open(edit,values){/* 创建用户 */} <CreateUser mRef{userRef} update{} />组件暴露open方法 文档地址:https://react.dev/reference/react/useImperativeHandle useIm…...
蓝桥杯2024/1/31-----底层测试模板
和之前一样建好工程文件夹,里边包含User(放工程文件,mian.c)、Driver(存放底层文件如Led.c,Led.h等) 新建的工程先搭建框架,可以先书写底层函数(此次书写了四个函数并包含…...
【根据当天日期输出明天的日期(需对闰年做判定)。】2022-5-15
缘由根据当天日期输出明天的日期(需对闰年做判定)。日期类型结构体如下: struct data{ int year; int month; int day;};-编程语言-CSDN问答 struct mdata{ int year; int month; int day; }mdata; int 天数(int year, int month) {switch (month){case 1: case 3:…...
Linux 文件类型,目录与路径,文件与目录管理
文件类型 后面的字符表示文件类型标志 普通文件:-(纯文本文件,二进制文件,数据格式文件) 如文本文件、图片、程序文件等。 目录文件:d(directory) 用来存放其他文件或子目录。 设备…...
Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误
HTTP 状态码 406 (Not Acceptable) 和 500 (Internal Server Error) 是两类完全不同的错误,它们的含义、原因和解决方法都有显著区别。以下是详细对比: 1. HTTP 406 (Not Acceptable) 含义: 客户端请求的内容类型与服务器支持的内容类型不匹…...
全球首个30米分辨率湿地数据集(2000—2022)
数据简介 今天我们分享的数据是全球30米分辨率湿地数据集,包含8种湿地亚类,该数据以0.5X0.5的瓦片存储,我们整理了所有属于中国的瓦片名称与其对应省份,方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...
Qwen3-Embedding-0.6B深度解析:多语言语义检索的轻量级利器
第一章 引言:语义表示的新时代挑战与Qwen3的破局之路 1.1 文本嵌入的核心价值与技术演进 在人工智能领域,文本嵌入技术如同连接自然语言与机器理解的“神经突触”——它将人类语言转化为计算机可计算的语义向量,支撑着搜索引擎、推荐系统、…...
React19源码系列之 事件插件系统
事件类别 事件类型 定义 文档 Event Event 接口表示在 EventTarget 上出现的事件。 Event - Web API | MDN UIEvent UIEvent 接口表示简单的用户界面事件。 UIEvent - Web API | MDN KeyboardEvent KeyboardEvent 对象描述了用户与键盘的交互。 KeyboardEvent - Web…...
使用van-uploader 的UI组件,结合vue2如何实现图片上传组件的封装
以下是基于 vant-ui(适配 Vue2 版本 )实现截图中照片上传预览、删除功能,并封装成可复用组件的完整代码,包含样式和逻辑实现,可直接在 Vue2 项目中使用: 1. 封装的图片上传组件 ImageUploader.vue <te…...
第一篇:Agent2Agent (A2A) 协议——协作式人工智能的黎明
AI 领域的快速发展正在催生一个新时代,智能代理(agents)不再是孤立的个体,而是能够像一个数字团队一样协作。然而,当前 AI 生态系统的碎片化阻碍了这一愿景的实现,导致了“AI 巴别塔问题”——不同代理之间…...
相机从app启动流程
一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...
Android15默认授权浮窗权限
我们经常有那种需求,客户需要定制的apk集成在ROM中,并且默认授予其【显示在其他应用的上层】权限,也就是我们常说的浮窗权限,那么我们就可以通过以下方法在wms、ams等系统服务的systemReady()方法中调用即可实现预置应用默认授权浮…...
