Как установить g cc -9 на Debian: последние docker - PullRequest
0 голосов
/ 04 мая 2020

Чтобы использовать C ++ 17, включите <filesystem> Мне нужен пакет gcc-9 в моем Debian docker.

По умолчанию debian:latest (он же 10 или buster) установит g cc 8.3.0 из обычного дистрибутива.

Есть ли PPA, тестовое репо, что угодно, где я могу легко установить gcc-9 (или позже) пакет (т.е. не собирать его из исходного кода)

Спасибо!

примечание: нужно g cc -9, чтобы иметь хорошую поддержку C ++ 17 <filesystem>.
G CC 9 Замечание к выпуску:

Для использования типов и функций теперь не требуется связывать с -lstdc ++ fs.

sr c: 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

Ответы [ 2 ]

0 голосов
/ 04 мая 2020

В моем 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, так что технически контейнер устанавливает «по умолчанию» g cc, затем он обновляется один в тестовом репо ...

note2: Используя RUN gcc --version, у меня есть gcc (Debian 9.3.0-11) 9.3.0: D

0 голосов
/ 04 мая 2020

С fre sh начало 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) 
...