为了使用C++17 include <filesystem>,我需要在docker中使用gcc-9包。
默认情况下,debian:latest (又名10或buster)将从常规发行版回购中安装gcc 8.3.0。
有什么PPA,测试回购,什么的,我可以轻松地安装一个gcc-9 (或更高版本)包(即不是从源代码构建它)
谢谢!
注:需要gcc-9具备良好的C++17 <filesystem>支持.
GCC 9号新闻稿:
中使用类型和函数的
现在不需要与-lstdc++fs链接。
src:https://gcc.gnu.org/gcc-9/changes.html
note2: CMake 3.16*不支持任何cxx_filesystem编译器特性AFAIK。
note3:您可以在这里找到日志:https://github.com/Mizux/KalistoUnpacker/runs/642516660?check_suite_focus=true
发布于 2020-05-04 12:06:44
在我的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,然后由测试回购中的一个更新。
note2:使用RUN gcc --version,我得到了gcc (Debian 9.3.0-11) 9.3.0 :D
发布于 2020-05-04 11:54:05
从一个全新的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) https://stackoverflow.com/questions/61590804
复制相似问题