首页
学习
活动
专区
圈层
工具
发布

升级GCC版本到8.3(多GCC版本共存)

升级GCC版本到8.3 公司的tlinux2.2自带的是GCC4.8.5(基于CentOS7), 勉强支持C++11, 但目前C++主流社区已经广泛使用C++14, C++17, 老版本的GCC对于新的语言特性的使用是个比较大的障碍..., 目前工作室打算在研未上线项目逐步向TencentOS3进行迁移, TencentOS3自带的GCC版本是8.3, 该版本已经比较完整的支持了C++17的特性, 而我们原来的代码大多是基于GCC4.8...的, 存在GCC版本混用的情况....安装依赖库 新的GCC源码内置了依赖库的获取脚本, GCC所依赖的mpfr, gmp, mpc, isl都可以使用内置脚本直接获取, 比老版本简单非常多, 在GCC目录下, 执行: ....多GCC版本导致的ABI兼容问题 需要特别注意的是ABI兼容的问题, 有部分库我们可能是直接使用的第三方的, 没有源码, 那么可能对应库依然是使用GCC4.8编译的, 默认开启C++11后GCC会同样更改应用程序的

9.9K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    升级GCC版本到11.1

    升级GCC版本到11.1 GCC11终于发正式版了, 4月底官方终于发了11.1正式版....下载GCC11.1源码 GCC的源码仓库地址为: https://github.com/gcc-mirror/gcc ,在浏览器打开这个网址后,不要急于下载,先选择gcc的版本,如下图所示: image.png...安装依赖库 新的GCC源码内置了依赖库的获取脚本, GCC所依赖的mpfr, gmp, mpc, isl都可以使用内置脚本直接获取, 比老版本简单非常多, 在GCC目录下, 执行: ..../contrib/download_prerequisites 此命名会自动下载GCC编译需要的几个依赖库. 3.配置和编译 前文也提到了, 我们需要同时保留老版本的GCC, 所以配置项里需要指定安装的目录..., 检查GDB的版本: image.png 更换GDB版本后我们尝试调试GCC11的程序, 已经正常了.

    4.4K40

    gcc升级到最近版本

    gcc升级 现在如果要想使用c++20(c++2a)的话起码要gcc10以上的版本呢才支持,但是一般服务器yum install自带的都是4.多版本,如果要升级gcc和g++需要手动编译 首先下载你想要的版本...,链接如下 http://ftp.gnu.org/gnu/gcc 你可以在windows直接下好传过去,或者在linux使用wget http://ftp.gnu.org/gnu/gcc/gcc-10.3.0.../gcc-10.3.0.tar.gz 解压缩 tar -xzvf gcc-10.3.0.tar.gz cd gcc-10.3.0.tar.gz 赋予文件执行权限 chmod -R 777 ./* 执行下载依赖库...之后执行或者编译的时候可能会显示 /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found 这时候需要重新链接更高版本的libstdc+...+.so.6 首先查找到你机器上有几个libstdc++.so.6 sudo find / -name libstdc++.so.6* 先删除原来的,然后选择一个高版本的来链接 rm /usr/lib64

    2.3K30

    Linux gcc使用基础

    gcc 编译器是 Linux 下默认的 C/C++ 编译器,大部分 Linux 发行版中都是默认安装的。gcc 编译器通常以 Linux 命令的形式在终端(Shell/Bash)中使用。...\n"); } 使用gcc编译: gcc hello.c 使用ls命令查看当前目录,多出一个a.out可执行文件,运行: ./a.out Hello World!...注意:编译阶段可以添加-O参数进行程序优化,或是-Wall参数显示详细的编译信息,如: gcc -O -c thanks.c thanks_2.c gcc -Wall -c thanks.c thanks...后面的-L参数用于指定库的搜索路径,由于Linux的默认库的位置就是在lib文件目录下,因此可以省略不写,如果是其它的第三方库,则需要指明库文件的位置。...参考:《鸟哥的Linux私房菜 (基础学习篇 第三版)》

    4.3K10

    Linux:使用 Alternatives 管理多版本程序

    在 Linux 系统中,经常会遇到一个软件有多个版本共存的情况。这时,管理和选择默认使用哪个版本就显得尤为重要。...本文将详细介绍如何使用 alternatives 命令在 Linux 中切换程序版本,确保我们能够灵活掌握这一强大工具。...基本概念 alternatives 命令实际上是 update-alternatives 的简写,它是 Debian 及其衍生版(如 Ubuntu)中的一个工具,但其他许多 Linux 发行版也提供了这一功能或类似功能...优先级数值越高,该版本就越被优先考虑作为默认版本。...结论 通过掌握 alternatives 系统,我们可以更加灵活地管理 Linux 系统中软件的多个版本,无论是开发环境还是生产环境,都能确保软件配置的最优化和个性化。

    2.3K11

    Linux系统没有管理员权限如何编译安装高版本gcc

    有一台公共的服务器,每个人都有自己的账号,但是没有root权限,也不能使用sudo切换,此时需要使用gcc 7.5.0(默认gcc版本是4.8.5),因此只能通过在家目录下编译安装高版本gcc来达到我们的目的...,这样就不会改变系统的gcc版本,也不涉及管理权限问题。...以下是编译安装gcc 7.5.0的完整步骤,可供参考 (1)下载gcc-7.5.0源码 [zsa@localhost ~]$ wget http://mirror.linux-ia64.org/gnu/...=/home/zsa/gcc_7.5.0/lib:$LD_LIBRARY_PATH export PATH=/home/zsa/gcc_7.5.0/bin:$PATH 能正确显示gcc版本说明编译安装成功...,如此就实现了不影响系统运行的情况下使用新版本的gcc,以上方法也可用来升级系统gcc,步骤稍有不同。

    1.4K20
    领券