首页 > 系统相关 >Ubuntu系统CMake& CMake GUI更新 (cmake & cmake-gui)

Ubuntu系统CMake& CMake GUI更新 (cmake & cmake-gui)

时间:2022-10-28 10:26:04浏览次数:71  
标签:cmake GUI Ubuntu CMake 安装 gui

  由于CMake具有良好的向后兼容性,Modern CMake推荐用户尽量安装CMake的最新版本,然而在Ubuntu系统APT仓库中的CMake版本一般较老旧。Ubuntu 20.04以下版本的用户可以使用Kitware官方APT仓库安装最新版本的CMake和CMake GUI。

  本文以当前最新版本CMake 3.24.2为例,介绍如何在Ubuntu系统中,直接从官方源代码编译安装CMake和CMake GUI。以下步骤在笔者的Ubuntu 22.04 LTS系统中正确完成编译安装,所用Shell为Bash。

 

1. 卸载通过 apt命令安装的旧版本的CMake和CMake GUI。

sudo apt-get remove cmake cmake-gui

 

2. 使用 apt命令安装下载工具Wget,以及CMake编译所需的依赖。若已安装则跳过。

sudo apt-get update
sudo apt-get install wget build-essential libssl-dev

 

3. 如果不需要安装CMake GUI可跳过该步。CMake GUI的图形界面依赖于Qt5,需要安装相关依赖:

sudo apt-get install qtbase5-dev

 

4. 下载、解压CMake源码。直链来自Download | CMake

cd ~
wget https://github.com/Kitware/CMake/releases/download/v3.24.2/cmake-3.24.2.tar.gz
tar -zxf cmake-3.24.2.tar.gz

在CMake目录下进行配置、编译和安装,可能消耗较长时间。

cd cmake-3.24.2
./configure --prefix=/opt/cmake --qt-gui         # 如不需要cmake-gui,可删除--qt-gui
make -j 8                        # 编译cmake,-j n 表示采用n线程编译
sudo make install                    # 安装cmake

运行配置脚本 ./configure 时, --prefix 用于设置CMake的安装位置, --qt-gui 要求额外编译CMake GUI。由于CMake是Linux系统的可选软件包,且几乎没有其他软件包直接依赖于CMake,推荐将其安装在 /opt/cmake 目录下方便管理,而强烈不建议安装在默认目录/usr/local下(除非使用的是Docker容器等)。

 

5. 将CMake的 bin 目录加入系统变量PATH,便于命令行使用。在Ubuntu系统中,推荐修改 ~/.bash_aliases 。如果用户目录下没有该文件,可以使用 touch ~/.bash_aliases 命令创建。使用任意编辑器(如vim或emacs),在 ~/.bash_aliases文件中添加:

export PATH="$PATH:/opt/cmake/bin"          # 目录取决于第4步中的配置

然后在终端中输入以下命令重新初始化Bash:

source ~/.bashrc

 

6. CMake和CMake GUI安装完成。通过以下命令测试是否正常安装:

cmake --version
cmake-gui &

 

标签:cmake,GUI,Ubuntu,CMake,安装,gui
From: https://www.cnblogs.com/lurl/p/16834186.html

相关文章

  • 使用最新版 gcc cmake
    debian获取最新的包(容器里测试常用)echo'debhttp://deb.debian.org/debiantestingmain'>>/etc/apt/sources.listaptinstall-ybuild-essentialgccg++cmake......
  • Unity UGUI
    一个UI控件是由多个组件组成的,每一个组件都是一个类TEXT(文本控件)Font:字体可以更改显示的字体样式也可以导入外部字体样式FontStyle:字体风格Normal正常默认风格......
  • 如何在CMake中启用C++ 17
    如何在CMake中启用C++17MiP*_*MiP  38 c++ cmake visual-studio c++17 我正在使用VS15.3,它支持集成的CMake3.8.如何在不为每个特定编译器编写标志的情况下定......
  • Matlab GUI界面
      从简单的例子说起吧。  创建MatlabGUI界面通常有两种方式:  1,使用.m文件直接动态添加控件   2. 使用GUIDE快速的生成GUI界面显然第二种可视化编辑方......
  • CMake学习记录(一)
    从一个简单的例子学起首先看下面的简单示例文件结构如下Demo├─CMakeLists.txt└─main.ccCMakeLists.txt内容如下cmake_minimum_required(VERSION3.18......
  • emacs org guide 学习笔记 2
    6Tagstags主要使用字母,数字,_和@这些来组成,并且前后都需要有:,多个tag可以同时使用,比如::work:urgent:tag继承多层级标题中的tag会被自动继承,虽然并没有直接......
  • opencv-contrib-python的安装:Set OPENCV_ENABLE_NONFREE CMake option and rebuild th
    问题描述前往本页,可查看opencv-python和opencv-contrib-python的区别。​​https://docs.opencv.org/master/​​比如,SIFT就需要用到opencv-contrib-python包中的cv2.xfeat......
  • 编译TDengineGUI 记录
    下载TDengineGUI代码,执行命令:gitclonehttps://github.com/skye0207/TDengineGUI.git安装依赖(直接npminstall失败,参考以下步骤可构建成功)--替换阿里源n......
  • Guid.NewGuid()
    System.Guid.NewGuid().ToString()全球唯一标识符(GUID)是一个字母数字标识符,用于指示产品的唯一性安装。在许多流行软件应用程序(例如Web浏览器和媒体播放器)中,都使用G......
  • CMakeList之macro
    一、定义1、可以把它理解为C++的宏,命令如下macro(<name>[<arg1>...])<commands>endmacro()定义一个名为的宏,它接受名为,…等一系列的参数。macro与endmacro之间列......