如何在Ubuntu上安装Cmake

ops/2025/1/17 22:49:18/

前言

​ 本文主要阐述如何在Ubuntu22.04上面安装cmake,具体可看下面的操作。

正文

一、环境

Ubuntu22.04

cmake-3.31.4.tar.gz

二、步骤

参考这个方案:

运维】Ubuntu如何安装最新版本的Cmake,编译安装Cmake,直接命令安装Cmake

1、先下载最新的cmake源码:cmake官网

在这里插入图片描述

2、解压:

tar zxvf cmake-3.24.2.tar.gz

3、安装必要的依赖项,例如libssl-dev:

sudo apt-get install libssl-dev

4、切换到解压后的CMake目录

cd cmake-3.24.2/

5、执行bootstrap脚本

sh ./bootstrap

6、如果没问题的话:

在这里插入图片描述

7、使用make命令编译CMake源代码:

make -j

8、安装已编译的CMake:

sudo make install

9、检测是否安装成功:

在这里插入图片描述

三、遇到的问题

1、CMake】第7篇 解决“Could not find OpenSSL. Install an OpenSSL development package”

sudo apt-get install libssl-dev

2、清华镜像下载失败

有可能清华镜像发生更改,可以去这个网站查看最新的镜像:
在这里插入图片描述

修改之前,记得先:

备份原软件源:sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

然后编辑一下/etc/apt/sources.list这个文件就可以了,将网站里面的东西拷贝进去。

3、bootstrap的含义是啥?

在 Ubuntu 或其他 Linux 系统中,执行 bootstrap 通常是指运行一个脚本(通常名为 bootstrap.sh 或类似名称),用于准备构建或安装项目的环境。具体的作用取决于项目的内容和设计,但以下是 bootstrap 通常涉及的内容和其意义:


a、什么是 bootstrap
  • bootstrap 是一个初始化脚本,通常由项目作者提供,用于自动化配置构建环境的工作。
  • 它通常包含命令来:
    • 安装必要的依赖项。
    • 生成配置文件(如 configure)。
    • 设置构建工具链(如 autotoolscmake)。
    • 初始化项目的环境(如下载子模块或设置路径)。

b、bootstrap 通常用于哪些场景?
  • 自动化构建准备
    例如,下载依赖库、生成 Makefile 或运行 autoreconf
  • 处理项目依赖
    安装项目需要的依赖包或第三方库。
  • 设置环境
    例如,初始化子模块或检查系统的构建工具是否完整。
    在这里插入图片描述

http://www.ppmy.cn/ops/150939.html

相关文章

大疆最新款无人机发布,可照亮百米之外目标

近日,DJI 大疆发布全新小型智能多光旗舰 DJI Matrice 4 系列,包含 Matrice 4T 和 Matrice 4E 两款机型。DJI Matrice 4E 价格为27888 元起,DJI Matrice 4T价格为38888元起。 图片来源:大疆官网 DJI Matrice 4E DJI Matrice 4T D…

解决:ubuntu22.04中IsaacGymEnv保存视频报错的问题

1. IsaacGymEnvs项目介绍 IsaacGymEnvs:基于NVIDIA Isaac Gym的高效机器人训练环境 IsaacGymEnvs 是一个基于 NVIDIA Isaac Gym 的开源 Python 环境库,专为机器人训练提供高效的仿真环境。Isaac Gym 是由 NVIDIA 开发的一个高性能物理仿真引擎&#xf…

从零深度学习:(2)最小二乘法

今天我们从比较简单的线性回归开始讲起,还是一样我们先导入包 import numpy as np import torch import matplotlib as mpl import matplotlib.pyplot as plt a torch.arange(1,5).reshape(2,2).float() a 我们利用刚刚导入的画图的包将这两个点画出来&#xff0…

【云岚到家】-day02-客户管理-认证授权

第二章 客户管理 1.认证模块 1.1 需求分析 1.基础概念 一般情况有用户交互的项目都有认证授权功能,首先我们要搞清楚两个概念:认证和授权 认证: 就是校验用户的身份是否合法,常见的认证方式有账号密码登录、手机验证码登录等 授权:则是该用…

XML序列化和反序列化的学习

1、基本介绍 在工作中,经常为了调通上游接口,从而对请求第三方的参数进行XML序列化,这里常使用的方式就是使用JAVA扩展包中的相关注解和类来实现xml的序列化和反序列化。 2、自定义工具类 import javax.xml.bind.JAXBContext; import javax.x…

EF Core实体跟踪

快照更改跟踪 实体类没有实现属性值改变的通知机制,EF Core是如何检测到变化的呢? 快照更改跟踪:首次跟踪一个实体的时候,EF Core 会创建这个实体的快照。执行SaveChanges()等方法时,EF Core将会把存储的快照中的值与…

C# 多线程发展史(面试思路)

多线程技术 本身是为了 提高 cpu利用率 提高效率而生 因为 cpu分片机制 导致 多线程存在顺序与业务不符合情况 为了满足 正确的执行业务顺序 而诞生第一个要点线程同步 无论是控制主线程的同步等待 thread join task result task wait() 还是线程之间对于共享资源 同步的多种…

【MacOS】恢复打开系统设置的安全性的允许以下来源的应用程序的“任何来源”

在系统更新后,系统设置的安全性的允许以下来源的应用程序的“任何来源”可能会被修改为“来自APP开发者”。 操作步骤: So, I figured it out how to allow apps from anywhere. But learned its the order of operations on how to enable this optio…