[英]How to install gcc/g++ 9 on CentOS 8 docker (centos:latest)
[英]How to install gcc-9 on debian:latest docker
为了使用 C++17 包括<filesystem>
我需要gcc-9
package 在我的 debian Z045E6053C15D8B DA 中。
默认情况下debian:latest
(又名 10 或 buster)将从常规发行版 repo 安装 gcc 8.3.0
。
是否有任何 PPA、测试仓库等,我可以在其中轻松安装gcc-9
(或更高版本)package(即不是从源代码构建它)
谢谢 !
注意:需要 gcc-9 才能有良好的 C++17 <filesystem>
支持。
GCC 9 发行说明:
现在使用 in 中的类型和函数不需要与 -lstdc++fs 链接。
来源: https://gcc.gnu.org/gcc-9/changes.html
注意 2:CMake 3.16* 不支持任何 cxx_filesystem 编译器功能 AFAIK。
注意3:您可以在此处找到日志: https://github.com/Mizux/KalistoUnpacker/runs/642516660?check_suite_focus=true
从debian:10
的全新开始:
echo 'deb http://deb.debian.org/debian testing main' > /etc/apt/sources.list.d/testing.list
apt update
cat <<EOF > /etc/apt/preferences.d/pin
Package: *
Pin: release a=stable
Pin-Priority: 700
Package: *
Pin: release a=testing
Pin-Priority: 650
EOF
apt install -qq -y -t testing build-essential
产量:
# g++ -v
gcc version 9.3.0 (Debian 9.3.0-11)
在我的 Dockerfile 中,我做了:
FROM debian:latest AS env
...
RUN echo 'deb http://deb.debian.org/debian testing main' >> /etc/apt/sources.list
RUN apt update -y
RUN apt install -y gcc
注意:我在安装build-essential
之后添加了这些行,所以从技术上讲,容器安装了“默认”gcc 然后它由测试仓库中的那个更新...
注意2:使用RUN gcc --version
我有gcc (Debian 9.3.0-11) 9.3.0
:D
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.