为了使用C++17包括<filesystem>
我需要gcc-9包在我的centos 7码头。
默认情况下,centos:7将从常规发行版库安装gcc 4.8.5。
docker run --rm -it centos:7
# yum install -y gcc
# gcc --version
gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44)
有没有什么方法可以轻松安装gcc-9(或更高版本)包(即不是从源代码构建)
谢谢!
注意:需要gcc-9才能有良好的C++17 <filesystem>
支持。
GCC 9发布说明:
使用<filesystem>
中的类型和函数现在不需要与-lstdc++fs
链接。
源代码:https://gcc.gnu.org/gcc-9/changes.html
2条答案
按热度按时间kqlmhetl1#
我目前掌握的情况:
cat停靠文件
因此,您必须:
1.在bashrc中添加源代码
注意:Centos上的是
/etc/bashrc
,而Ubuntu上的是/etc/bash.bashrc
1.将Docker默认shell更新为bash,并使用
--login
"加载" bashrc输出
什么行不通
测试1
每个
RUN
都是一个新的shell,因此在第二行上丢失了sub-bash。测试2
在这里,源代码也仅用于第一个RUN shell命令,但将丢失...
测试3
这可能会起作用,但可能会出现意外行为
这里我们只"修复"了
PATH
变量,但是如果您查看/opt/rh/devtoolset-9/enable
脚本,那么要做的事情远远不止更新PATH
...z4iuyo4d2#
您可以给予使用以下步骤,如果这可能会有所帮助:从http://ftp.gnu.org/gnu/gcc/gcc-9.2.0/下载最新的软件包
使用以下步骤解压缩文件:
使用以下内容构建配置,
使用make编译安装,然后使用make install。