Miz*_*zux 5 c++ debian gcc docker
为了使用 C++17 包含,<filesystem>我需要gcc-9在我的 debian docker 中安装包。
默认情况下debian:latest(又名 10 或 buster)将从8.3.0常规发行版存储库安装 gcc 。
是否有任何 PPA、测试存储库等,我可以在其中轻松安装gcc-9(或更高版本)包(即不是从源代码构建它)
谢谢 !
注意:需要 gcc-9 才能有良好的 C++17<filesystem>支持。
GCC 9 发行说明:
使用中的类型和函数现在不需要与 -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
Run Code Online (Sandbox Code Playgroud)
产量:
# g++ -v
gcc version 9.3.0 (Debian 9.3.0-11)
Run Code Online (Sandbox Code Playgroud)
在我的 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
Run Code Online (Sandbox Code Playgroud)
注意:我在安装后添加了这些行,build-essential所以从技术上讲,容器安装了“默认”gcc,然后它由测试仓库中的一个更新......
注意2:使用RUN gcc --version我有gcc (Debian 9.3.0-11) 9.3.0:D
| 归档时间: |
|
| 查看次数: |
7139 次 |
| 最近记录: |