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