如何在 debian:latest docker 上安装 gcc-9
How to install gcc-9 on debian:latest docker
为了使用 C++17 include <filesystem>
我需要 gcc-9
我的 debian 包 docker.
默认情况下 debian:latest
(又名 10 或 buster)将从常规发行版存储库安装 gcc 8.3.0
。
是否有任何 PPA、测试回购等,我可以在哪里 轻松地 安装 gcc-9
(或更高版本)包(即不是从源代码构建它)
谢谢!
注意:需要 gcc-9 才能获得良好的 C++17 <filesystem>
支持。
GCC 9 发行说明:
Using the types and functions in does not require linking with -lstdc++fs now.
来源: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,然后由测试库中的 gcc 更新...
note2: 使用 RUN gcc --version
我有 gcc (Debian 9.3.0-11) 9.3.0
:D
为了使用 C++17 include <filesystem>
我需要 gcc-9
我的 debian 包 docker.
默认情况下 debian:latest
(又名 10 或 buster)将从常规发行版存储库安装 gcc 8.3.0
。
是否有任何 PPA、测试回购等,我可以在哪里 轻松地 安装 gcc-9
(或更高版本)包(即不是从源代码构建它)
谢谢!
注意:需要 gcc-9 才能获得良好的 C++17 <filesystem>
支持。
GCC 9 发行说明:
Using the types and functions in does not require linking with -lstdc++fs now.
来源: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,然后由测试库中的 gcc 更新...
note2: 使用 RUN gcc --version
我有 gcc (Debian 9.3.0-11) 9.3.0
:D