Ubuntu升级Cmake、gcc、g++

这篇具有很好参考价值的文章主要介绍了Ubuntu升级Cmake、gcc、g++。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

背景

最近要安装llvm,我选择的是从源码安装,所以要使用Cmake进行构建项目。但是服务器上的Cmake、gcc、g++的版本都太低了,不符合要求,所以要对此进行升级。在本博客中采用的升级方法不一定是最好的方法(因为我也是参考其他大佬的博客进行升级的),但是我亲测可行。

升级Cmake

1.去Cmake官网下载你想要安装的版本的Cmake文件,推荐使用wget下载。

wget https://cmake.org/files/v3.25/cmake-3.25.3.tar.gz

完成以后,你会发现有一个cmake-3.25.3.tar.gz压缩包。
注:我们使用wget下载的是源码包,下载以后还需要进行编译。另外一种方式是直接在官网下载已经编译好的Cmake压缩包,下载后不需要编译

2.解压。

tar -xvzf cmake-3.25.3.tar.gz

3.进入解压目录,输入以下指令。

chmod 777 ./configure  
./configure   

chmod 777 表明文件所有者、用户组、其他用户都有可读、可写、可执行权限。
./configure 表示运行该可执行文件。配置成功后显示:CMake has bootstrapped. Now run make。
如果出现错误信息Could not find OpenSSL…,执行sudo apt-get install libssl-dev安装即可。

4.编译

make

5.安装

sudo make install 

6.使用update-alternatives替换掉旧的Cmake版本。

sudo update-alternatives --install /usr/bin/cmake cmake xxxx/bin/cmake 1 --force

xxx代表你解压的cmke路径。

7.查看cmake版本。

cmake --version

接下来解释下update-alternatives是什么?
update-alternatives命令用于处理Linux系统中软件版本的切换,使其多版本共存。update-alternatives的管理目录是/etc/alternatives。

$ update-alternatives --help
用法:update-alternatives [<选项> ...] <命令>

命令:
  --install <链接> <名称> <路径> <优先级>
    [--slave <链接> <名称> <路径>] ...
                           在系统中加入一组候选项。
  --remove <名称> <路径>   从 <名称> 替换组中去除 <路径> 项。
  --remove-all <名称>      从替换系统中删除 <名称> 替换组。
  --auto <名称>            将 <名称> 的主链接切换到自动模式。
  --display <名称>         显示关于 <名称> 替换组的信息。
  --query <名称>           机器可读版的 --display <名称>.
  --list <名称>            列出 <名称> 替换组中所有的可用候选项。
  --get-selections         列出主要候选项名称以及它们的状态。
  --set-selections         从标准输入中读入候选项的状态。
  --config <名称>          列出 <名称> 替换组中的可选项,并就使用其中哪一个,征询用户的意见。
  --set <名称> <路径>      将 <路径> 设置为 <名称> 的候选项。
  --all                    对所有可选项一一调用 --config 命令。

<链接> 是指向 /etc/alternatives/<名称> 的符号链接。(/usr/bin/pager)
<名称> 是该链接替换组的主控名。(如 pager)
<路径> 是候选项目标文件的位置。(/usr/bin/less)
<优先级> 是一个整数,在自动模式下,这个数字越高的选项,其优先级也就越高。
..........

比如我们想查询gcc都有哪些软连接,可以使用如下指令:

sudo update-alternatives --query gcc

输出为:

Name: gcc
Link: /usr/bin/gcc
Status: manual
Best: /usr/bin/gcc-9
Value: /usr/bin/gcc-9

Alternative: /usr/bin/gcc-5
Priority: 20

Alternative: /usr/bin/gcc-7
Priority: 40

Alternative: /usr/bin/gcc-9
Priority: 50

其他的参数大家可以自行尝试。

升级gcc、g++

本博客升级gcc和g++的方法是使用apt-get install 安装更高的版本,当然也可以使用下载源码编译的方式升级。

1.首先查看现有的gcc、g++版本,并添加相应的源

gcc --version
g++ --version
sudo add-apt-repository ppa:ubuntu-toolchain-r/test

2.更新软件源

sudo apt-get update

3.安装你想要安装的gcc、g++版本

sudo apt-get install gcc-xx g++-xx

这里要指明一点问题:我在添加ppa源的时候无法添加,好像是因为ppa源在国外,所以可以换成中科大源。
参考链接如下:http://t.csdn.cn/g7nsV
在这里我本来是想安装gcc-11的,但是它会显示 E: Unable to locate package gcc-11,所以只能降低版本,最后降到gcc-9才显示有这个安装包,可以成功安装。

4.切换到最新的gcc版本
在切换到最新的gcc版本前,我们可以查看系统中到底存在几个不同的gcc版本,使用如下指令:

sudo updatedb && sudo ldconfig
locate gcc | grep -E "/usr/bin/gcc-[0-9]"

Ubuntu升级Cmake、gcc、g++,环境配置,ubuntu,linux,gcc,g++,cmake
可以看到我这里是有4个。然后我们现在要让gcc-9的优先级最高(也就是输入gcc --version,它显示的版本要是9)。
使用 sudo update-alternatives --query gcc查看gcc的各个优先级,输出如下:

Name: gcc
Link: /usr/bin/gcc
Status: manual
Best: /usr/bin/gcc-9
Value: /usr/bin/gcc-9

Alternative: /usr/bin/gcc-5
Priority: 20

Alternative: /usr/bin/gcc-7
Priority: 40

Alternative: /usr/bin/gcc-9
Priority: 50

然后用如下指令给gcc-9最高优先级:

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 50

这个时候使用gcc --version查看版本,如果显示的是还是以前的版本,则使用手动改变的方法,输入如下指令:

sudo update-alternatives --config g++

输出为

There are 3 choices for the alternative gcc (providing /usr/bin/gcc).

  Selection    Path            Priority   Status
------------------------------------------------------------
  0            /usr/bin/gcc-9   50        auto mode
  1            /usr/bin/gcc-5   20        manual mode
  2            /usr/bin/gcc-7   40        manual mode
* 3            /usr/bin/gcc-9   50        manual mode

键入3回车即可。
这样就可以成功切换gcc的版本了,g++同样的方法,这里不再阐述。

参考链接

1.https://www.cnblogs.com/Maker-Liu/p/16550381.html
2.https://www.jianshu.com/p/4d27fa2dce86
3.https://blog.csdn.net/quxuexi/article/details/121501679文章来源地址https://www.toymoban.com/news/detail-681783.html

到了这里,关于Ubuntu升级Cmake、gcc、g++的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Vscode+Cmake配置并运行opencv环境(Windows和Ubuntu大同小异)

    之前在培训新生的时候,windows环境下配置opencv环境一直教的都是网上主流的vs studio配置属性表,但是这个似乎对新生来说难度略高(虽然个人觉得完全是他们自己的问题),加之暑假之后对cmake实在是爱不释手,且这样配置确实十分简单(其实都不需要配置),故斗胆妄言vs code下

    2024年02月02日
    浏览(49)
  • 将cmake版本升级(ubuntu18)

    problem: -- Found Threads: TRUE   CMake Error at /usr/share/cmake-3.25/Modules/FindPackageHandleStandardArgs.cmake:230 (message):   Could NOT find CXSparse: Found unsuitable version \\\"3.1.9\\\", but required is   at least \\\"3.2.0\\\" solution: Check current version So that we can easily remove it later This step  only  if you want to revert back we don\\\'t wa

    2024年02月01日
    浏览(31)
  • 【gcc, cmake, eigen, opencv,ubuntu】五.CMakeLists.txt编写

    1.CMakeLists.txt模板 一个使用opencv 的 CMakeLists.txt 对应的目录: 2.设置编程语言版本 3.设置编译类型Debug,Release 4.设置获取文件列表 MATH_LIB_SRC 指示:找到的math目录下的 c文件 5.添加include目录 表示在src/include/目录中寻找头文件 include_directories(src/include) 6.配置编译选项 add_compile_

    2024年02月09日
    浏览(31)
  • Ubuntu升级cmake,可任意切换版本

    今天需要使用cmake编译一个工程,但是提示cmake版本不对,记录一下如何升级cmake,并实现自由切换版本。 下载cmake安装包 点击此链接下载对应版本的cmake 使用tar解压 3. 查看解压内容,此步骤不必要(我安装时解压方式不对,所以造成文件缺失,导致安装失败,执行本步骤查

    2024年01月19日
    浏览(35)
  • 【gcc, cmake, eigen, opencv,ubuntu】三.eigen和mkl安装和使用

    1.eigen和mkl安装 eigen的安装很简单:两种方法,一种直接命令行安装,另一种通过源文件安装。无论哪种都比较简单。 eigen安装参考:https://zhuanlan.zhihu.com/p/462494086 eigen官方网站:http://eigen.tuxfamily.org/index.php?title=Main_Page 查看安装位置 安装后,头文件安装在/usr/local/include/eigen3/

    2024年02月13日
    浏览(28)
  • C/C++开发,linux下OpenCV+gcc+cmake编译环境搭建

    目录 一、源码下载 二、源码编译         2.1 OpenCV源码下载         2.2 cmake安装(非必要)         2.3 opencv安装依赖及支持模块查看         2.4 安装pkgconfig包         2.5 安装opencv依赖包         2.6 真正安装opencv包开始         2.7 opencv环境路径配置 三、案

    2024年02月06日
    浏览(40)
  • ubuntu环境通过CMake安装OpenCV

    1:检查CMake是否安装成功 2:检查pkg-config是否安装成功 3:下载OpenCV版本 官网:https://github.com/opencv 从第 3 版开始,OpenCV 已经分成了两个主要部分。 第一部分是包含了 成熟算法的 OpenCV 主源码库,https://github.com/opencv/opencv ,OpenCV 的核心函数,也就是之前下载的内容。 第二部

    2024年02月20日
    浏览(40)
  • windows下qt creator 配置编译环境gcc,g++,gdb,cmake

    MSVC :即Microsoft Visual C++ Compiler,即微软自己的编译器 MinGW :我们都知道GNU在Linux下面鼎鼎大名的gcc/g++,MinGW则是指Minimalist GNU for Windows的缩写 这里我们选择MinGW,至于Qt中,这两种模式的区别,自行查阅相关资料 在Qt 安装完成之后,gcc.exe,g++.exe,qmake.exe就已经有了,我们可

    2024年02月09日
    浏览(42)
  • ubuntu16.04升级到20.04后报错 By not providing “FindEigen.cmake“

    编译问题: CMake Error at modules/perception/lidar/CMakeLists.txt:14 (find_package):   By not providing \\\"FindEigen.cmake\\\" in CMAKE_MODULE_PATH this project has   asked CMake to find a package configuration file provided by \\\"Eigen\\\", but   CMake did not find one.   Could not find a package configuration file provided by \\\"Eigen\\\" with any of   the foll

    2024年02月01日
    浏览(37)
  • ubuntu 搭建 cmake + vscode 的 c/c++ 开发环境

    clang-format c++ 整合 略 只需要安装如下两个插件即可 c/c++ 扩展是为了最基本的代码提示和调试支持 cmake language support 是为了提示 CMakeLists.txt 脚本 有可能安装了 cmake language support 还是没有代码提示, 注意配置 cmake 路径 main.cpp CMakeLists.txt 此时可以通过 终端 菜单的 运行任务 来运

    2024年02月08日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包