cenos7升级gcc 9.3和Qt5.15版本教程

cenos7升级gcc 9.3和Qt5.15版本教程

0、背景

之前编码的环境一直是“拿来主义”,拷贝现成的虚拟机对自己的代码进行编译生成发布件。由于我自身编码习惯可能会用到一些诸如C++11、14的特性,导致部分新特性在当前编译环境中没法使用。就会导致我本地编码在windows上编译、运行都是ok的,但是需要生成x86版本的时候编译失败。
于是乎,我就在思考如何改变我当前的编译环境,如何让我后面写代码更加高效(而不是每次针对linux还需要对新特性代码进行“回退”处理)。

1、现状

当前我得linux机器环境如下:

  1. 操作系统:centos 7
  2. gcc:4.8.5(centos 7系统标配)
  3. qmake:3.1

上网查了一些信息,基本上跟当前系统配置的一致,都是一些默认安装的配置,而且按照网络上推荐的,当前centos 7建议最高更新Qt到5.15版本。这一点我是比较认可的,因为我从官网上选了个最新版本,本地解压然后安装结果失败了。原因就是底层编译器不兼容。
大家有时间感兴趣也可以自行尝试,比较耗时间,建议有空再尝试,附上当前Qt链接
在这里插入图片描述

2、目标和思路

讲完了自身需求和当前系统配置现状,那么我当前的需求就非常明晰了:升级gcc版本来支持高版本C++,同时适配升级对应Qt版本。针对自身需求制定目标如下:

  1. gcc升级到高版本来支持至少C++14,最好是能到C++17,暂定先升级到gcc 9.3;
  2. Qt版本升级,按照网上推荐版本,升级到5.15版本;
  3. 本地测试编译项目代码,能够成功使用C++新特性并生成对应的发布件;

3、升级前环境准备

3.1 虚拟机联网配置

首先,虚拟机得能连接外网,可以通过下面的命令进行测试:

ping www.baidu.com

在其他博客中已经有详细介绍,结合食用效果更佳哦:
Ubuntu16机器ping不通主机ip
CentOS 7无法上网问题解决

3.2 镜像设置

直接通过原生镜像下载最新的gcc版本,例如先更新第三方仓库:

sudo yum install centos-release-scl

此时可能会执行失败,原因是原生官方镜像连接失败,可以通过下面的命令进行测试:

ping mirrors.aliyun.com

ping不通说明网络不可达,当然也可以检查下是不是防火墙拦住了:

systemctl status firewalld

这个时候我们需要用国内的一些镜像进行资源下载,用的比较多的是阿里云镜像,先对原有源配置备份:

sudo mv /etc/yum.repos.d/CentOS-Base
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值