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

目录
相关文章
|
2天前
|
缓存 Ubuntu Linux
Linux中yum、rpm、apt-get、wget的区别,yum、rpm、apt-get常用命令,CentOS、Ubuntu中安装wget
通过本文,我们详细了解了 `yum`、`rpm`、`apt-get`和 `wget`的区别、常用命令以及在CentOS和Ubuntu中安装 `wget`的方法。`yum`和 `apt-get`是高层次的包管理器,分别用于RPM系和Debian系发行版,能够自动解决依赖问题;而 `rpm`是低层次的包管理工具,适合处理单个包;`wget`则是一个功能强大的下载工具,适用于各种下载任务。在实际使用中,根据系统类型和任务需求选择合适的工具,可以大大提高工作效率和系统管理的便利性。
43 25
|
13天前
|
Ubuntu API 网络虚拟化
ubuntu22 编译安装docker,和docker容器方式安装 deepseek
本脚本适用于Ubuntu 22.04,主要功能包括编译安装Docker和安装DeepSeek模型。首先通过Apt源配置安装Docker,确保网络稳定(建议使用VPN)。接着下载并配置Docker二进制文件,创建Docker用户组并设置守护进程。随后拉取Debian 12镜像,安装系统必备工具,配置Ollama模型管理器,并最终部署和运行DeepSeek模型,提供API接口进行交互测试。
218 15
|
25天前
|
Ubuntu 开发工具 git
Ubuntu编译ffmpeg解决错误:ERROR: avisynth/avisynth_c.h not found
通过本文的详细指导,您可以顺利地在Ubuntu系统上配置和编译FFmpeg,并解决Avisynth头文件缺失的问题。
93 27
|
1月前
|
Ubuntu 计算机视觉 C++
Ubuntu系统下编译OpenCV4.8源码
通过上述步骤,你可以在Ubuntu系统上成功编译并安装OpenCV 4.8。这种方法不仅使你能够定制OpenCV的功能,还可以优化性能以满足特定需求。确保按照每一步进行操作,以避免常见的编译问题。
81 43
|
1月前
|
Ubuntu 计算机视觉 C++
Ubuntu系统下编译OpenCV4.8源码
通过上述步骤,你可以在Ubuntu系统上成功编译并安装OpenCV 4.8。这种方法不仅使你能够定制OpenCV的功能,还可以优化性能以满足特定需求。确保按照每一步进行操作,以避免常见的编译问题。
75 30
|
1月前
|
Ubuntu
Ubuntu20.04 编译安装FFmpeg,出错分析以及解决方案
通过上述步骤,可以在 Ubuntu 20.04 上成功编译和安装 FFmpeg。如果遇到问题,可以通过检查依赖包的安装情况以及 `config.log` 文件来解决。掌握这些技巧和解决方案,可以有效地解决编译过程中遇到的各种问题,提高安装成功率。
76 13
|
1月前
|
弹性计算 Ubuntu Java
OS-Copilot-ubuntu镜像版本的具体测试使用(安装方式有单独注明)
作为一名个人开发者,我主要负责云资源的运维和管理。在使用OS Copilot的过程中,我遇到了一些配置问题,特别是在ECS实例中设置AccessKey时,但最终成功解决了。通过使用OS Copilot的-t/-f/管道功能,我大大提升了效率,减少了命令编写的工作量,特别是在搭建Java运行环境时效果显著。此外,| 功能帮助我快速理解文档,整体体验非常流畅,推荐给其他开发者使用。
42 6
|
1月前
|
Ubuntu 计算机视觉 C++
Ubuntu系统下编译OpenCV4.8源码
通过上述步骤,你可以在Ubuntu系统上成功编译并安装OpenCV 4.8。这种方法不仅使你能够定制OpenCV的功能,还可以优化性能以满足特定需求。确保按照每一步进行操作,以避免常见的编译问题。
37 12
|
2月前
|
JSON Ubuntu 开发者
ubuntu 22安装lua环境&&编译lua cjson模块
通过上述步骤,可以在 Ubuntu 22.04 系统上成功安装 Lua 环境,并使用 LuaRocks 或手动编译的方式安装 lua-cjson 模块。本文详细介绍了每一步的命令和操作,确保每一步都能顺利完成,适合需要在 Ubuntu 系统上配置 Lua 开发环境的开发者参考和使用。
217 13
|
2月前
|
监控 关系型数据库 MySQL
Ubuntu24.04安装Librenms
此指南介绍了在Linux系统上安装和配置LibreNMS网络监控系统的步骤。主要内容包括:安装所需软件包、创建用户、克隆LibreNMS仓库、设置文件权限、安装PHP依赖、配置时区、设置MariaDB数据库、调整PHP-FPM与Nginx配置、配置SNMP及防火墙、启用命令补全、设置Cron任务和日志配置,最后通过网页完成安装。整个过程确保LibreNMS能稳定运行并提供有效的网络监控功能。