簡體   English   中英

如何在 debian 上安裝 gcc-9:最新的 docker

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM