微网站站点名称,做网站视频背景,网站建设文字教程视频,网站排名提升易下拉教程centos升级g使其支持c17 升级g的原因现象原因 升级g方法更新镜像源yum升级g版本 总结 升级g的原因
现象
编译最新版本的jsoncpp报一下错误
jsontest.h:87:37: error: ‘hexfloat’ is not a member of ‘std’oss std::setprecision(16) std::hexfloat 使其支持c17 升级g的原因现象原因 升级g方法更新镜像源yum升级g版本 总结 升级g的原因
现象
编译最新版本的jsoncpp报一下错误
jsontest.h:87:37: error: ‘hexfloat’ is not a member of ‘std’oss std::setprecision(16) std::hexfloat value;^
make[2]: *** [src/test_lib_json/CMakeFiles/jsoncpp_test.dir/jsontest.cpp.o] Error 1
make[1]: *** [src/test_lib_json/CMakeFiles/jsoncpp_test.dir/all] Error 2
make: *** [all] Error 2原因
在编译 C 代码时遇到 “error: ‘hexfloat’ is not a member of ‘std’” 这样的错误信息这意味着代码中尝试使用了 C 标准库 (std) 中不存在的成员 hexfloat。 C 标准支持问题如果正在使用的是 C14 或更早的标准hexfloat 关键字可能不受支持。hexfloat 是从 C17 开始引入的一个特性用于表示十六进制浮点字面量。 查看当前g版本
g --version
g (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44)
Copyright (C) 2015 Free Software Foundation, Inc.原始版本太老不支持c17的新特性需要升级g版本
升级g方法
使用yum出现以下报错
Could not retrieve mirrorlist http://mirrorlist.centos.org?archx86_64release7reposclo-rh error was
14: curl#6 - Could not resolve host: mirrorlist.centos.org; Unknown error2024 年 7 月 1 日 官方停止维护 CentOS 7。该系统内置的 yum.repo 所使用的域名 mirrorlist.centos.org 不能使用。
更新镜像源
1.备份官方的原yum源的配置
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup2.下载Centos-7.repo文件
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo3.CentOS-SCLo-scl.repo CentOS-SCLo-scl-rh.repo 修改这两个文件 CentOS-SCLo-scl.repo
[centos-sclo-sclo]
nameCentOS-7 - SCLo sclo
baseurlhttps://mirrors.aliyun.com/centos/7/sclo/x86_64/sclo/
# mirrorlisthttps://mirrors.aliyun.com?arch$basearchrelease7reposclo-sclo
gpgcheck0
enabled1
gpgkeyfile:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLoCentOS-SCLo-scl-rh.repo
[centos-sclo-rh]
nameCentOS-7 - SCLo rh
baseurlhttps://mirrors.aliyun.com/centos/7/sclo/x86_64/rh/
#mirrorlisthttps://mirrors.aliyun.com?arch$basearchrelease7reposclo-rh
gpgcheck0
enabled1
gpgkeyfile:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo4.清除及生成缓存。
# 清除yum缓存
yum clean all
# 缓存阿里云源
yum makecache
# 测试阿里云源
yum listyum升级g版本
yum list devtoolset-*-gcc
yum -y install centos-release-scl
yum -y install devtoolset-11-gcc devtoolset-11-gcc-c devtoolset-11-binutils当前控制台生效
scl enable devtoolset-11 bash重启后也要生效(可选)
echo source /opt/rh/devtoolset-11/enable /etc/profile总结
本文从jsoncpp编译出错出发到解决问题配置了镜像源升级了g。 Linux下cmake编译jsoncpp出现错误 CentOS7配置阿里云镜像源 centos7-更换源|升级gcc