Ubuntu编译安装CMake

简介: Ubuntu编译安装CMake

通过编译安装的方式,可以方便地安装指定版本的CMake,并能够卸载或升级,不会因为apt安装cmake而导致卸载cmake时影响到其他包

下载

方法一:官网下载

官网下载界面 选择自己需要的版本的源码,或在github仓库中clone对应版本的分支的代码,也可直接使用master分支的代码

方法二:gitee下载

仓库地址,下载方法同github仓库,这个仓库是从github仓库导入gitee的

安装

1. 安装依赖

sudo apt install build-essential libncurses5-dev ninja-build libssl-dev libarchive13 libcurl4 librhash0 libuv1

若不使用ninja编译,可不用安装 ninja-build

还有可能缺少其他的依赖,需要在编译过程中根据报错去搜索解决

2. 编译

方法一:使用make

在下载的CMake源码文件夹中打开终端,依次运行以下命令

./bootstrap

若内存或交换内存不够(-j20时,占用了15.1G内存+20G交换内存,ubuntu默认交换内存只有2G,手动调整交换内存大小见博客 Ubuntu调整swap大小),可能会爆内存,建议根据CPU线程数指定-j参数,比如 make -j8 或 make -j16

make -j
sudo make install

方法二:使用ninja(推荐,速度更快)

在我的电脑上使用make耗时4分多钟,而使用ninja只需1分钟,且占用内存更少。要了解ninja可去 ninja官网

./bootstrap --generator=Ninja

ninja默认调用所有线程,但不会爆内存,也可使用-j4、-j8等参数指定

ninja
sudo ninja install

3. 测试

终端中输入

cmake --version

若打印出版本信息,则说明安装成功

ccmake

cmake在unix系统下的GUI程序,编译安装cmake时若 BUILD_CursesDialog
值为ON(若安装有libncurses5-dev,则值自动为ON)会自动安装该程序,apt安装cmake则还需执行 sudo apt install cmake-curses-gui 命令来安装ccmake。cmake也有qt界面的GUI程序,但需要安装qt。

ccmake可以方便地显示并改变程序编译时的参数,同样支持指定生成器,比如使用cmake并指定生成器为Ninja时,命令是这样

cmake -G Ninja ..

使用ccmake时则命令是这样

ccmake -G Ninja ..

在 [Ubuntu编译安装OpenCV]() 中展示了如何使用ccmake设置opencv编译参数并使用Ninja编译opencv

cmake-gui

使用QT窗口的cmake GUI程序,需要将编译参数 BUILD_QtDialog 设置为ON(不会自动开启),可通过 ccmake 开启

使用时直接运行

cmake-gui

若安装完cmake且编译时开启了相应的编译选项,运行时仍未找到ccmake或cmake-gui,可执行 hash -r 后重开终端再运行,还不行则需检查是否有依赖库未安装,安装好后重新编译安装cmake

目录
相关文章
|
6天前
|
存储 Ubuntu Linux
关于实体机安装Ubuntu 22.04.3-desktop-amd64遇见的一些问题
【10月更文挑战第5天】本文介绍了Ubuntu安装过程中常见的四个问题及其解决方案,包括分区设置、驱动问题、软件安装问题和启动问题。对于分区,推荐新手选择自动分区,手动分区需了解基本概念。驱动问题可通过安装相应硬件的Linux驱动解决。软件安装问题可更换国内镜像源或修复依赖关系。启动问题则可尝试进入恢复模式修复或根据错误提示信息寻求帮助。
|
1天前
|
Kubernetes 网络安全 容器
基于Ubuntu-22.04安装K8s-v1.28.2实验(一)部署K8s
基于Ubuntu-22.04安装K8s-v1.28.2实验(一)部署K8s
9 2
|
1天前
|
存储 Kubernetes 负载均衡
基于Ubuntu-22.04安装K8s-v1.28.2实验(四)使用域名访问网站应用
基于Ubuntu-22.04安装K8s-v1.28.2实验(四)使用域名访问网站应用
9 1
|
1天前
|
负载均衡 应用服务中间件 nginx
基于Ubuntu-22.04安装K8s-v1.28.2实验(二)使用kube-vip实现集群VIP访问
基于Ubuntu-22.04安装K8s-v1.28.2实验(二)使用kube-vip实现集群VIP访问
7 1
|
8天前
|
存储 Ubuntu
关于实体机安装Ubuntu 22.04.3-desktop-amd64遇见的一些问题
【10月更文挑战第2天】本文详细介绍了在使用 Ubuntu 过程中常见的五个问题及其解决方案:下载镜像文件速度慢或损坏,可更换镜像源或验证哈希值;制作启动盘失败,需检查 U 盘及设置;安装过程中的分区问题,需合理规划分区;安装后的驱动问题,可通过安装官方驱动解决;软件安装和更新问题,需检查仓库配置及依赖关系。
|
1月前
|
Ubuntu Linux Docker
Ubuntu 18.04 安装Docker实战案例
关于如何在Ubuntu 18.04系统上安装Docker的实战案例,包括安装步骤、配置镜像加速以及下载和运行Docker镜像的过程。
178 3
Ubuntu 18.04 安装Docker实战案例
|
1月前
|
Ubuntu 网络安全 开发工具
Ubuntu19.04的安装过程详解以及操作系统初始化配置
本文详细介绍了Ubuntu 19.04操作系统的安装过程、初始化配置、网络设置、软件源配置、SSH远程登录以及终端显示设置。
63 1
Ubuntu19.04的安装过程详解以及操作系统初始化配置
|
1天前
|
Kubernetes 容器
基于Ubuntu-22.04安装K8s-v1.28.2实验(三)数据卷挂载NFS(网络文件系统)
基于Ubuntu-22.04安装K8s-v1.28.2实验(三)数据卷挂载NFS(网络文件系统)
9 0
|
25天前
|
存储 Prometheus 监控
在Ubuntu系统上安装与配置Prometheus的步骤
通过以上步骤,您应该已经成功在Ubuntu系统上安装并配置了Prometheus。您现在可以开始使用Prometheus收集和分析您的系统和应用程序的指标数据了。
48 1
|
1月前
|
Ubuntu 编译器 C语言
Ubuntu 源码编译指定版本 make:神秘代码背后的激情冒险,等你来战!
【9月更文挑战第8天】在Ubuntu中,编译指定版本的源码`make`是一项挑战但也极具价值的任务。它允许我们根据特定需求定制软件,提升性能与功能适配。首先需安装必要工具包如GCC等;接着下载所需源码并阅读相关文档以了解编译要求。通过运行`./configure`、`make`及`sudo make install`命令完成编译安装流程。过程中可能遇到依赖项缺失或编译选项设置不当等问题,需根据错误提示逐一解决。对于大型项目,可利用多核编译加快速度。掌握这一技能有助于更好地探索开源世界。
29 2