Как установить gcc-7 или лязгать 4.0?

Я хочу попробовать C++ 17 функций, и я хочу установить стандартный совместимый компилятор (предпочтительно GCC). Я полностью плохо знаком с Linux и Ubuntu, и я просто не понимаю много.

Я пытался следовать за https://launchpad.net / ~ ubuntu-toolchain-r / + архив/человечность/тест, но без удачи. Сначала я работал:

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update

Поскольку я понял, что эта команда устанавливает некоторые ключи. Затем я попробовал:

sudo add-apt-repository ppa:ubuntu-toolchain-r/gcc-7

Это возвратилось:

Error: 'ppa:ubuntu-toolchain-r/gcc-7' invalid

Затем я пытался установить ответвление разработки лязга:

apt-get install clang-4.0 lldb-4.0

И это дает мне

E: Unable to locate package clang-4.0
E: Couldn't find any package by glob 'clang-4.0'
E: Couldn't find any package by regex 'clang-4.0'
E: Unable to locate package lldb-4.0
E: Couldn't find any package by glob 'lldb-4.0'
E: Couldn't find any package by regex 'lldb-4.0'

Что делает все это означает? Что случилось?

27
задан 15 August 2017 в 15:45

4 ответа

Можно уже установить gcc-7 и g ++-7 от этот пакет .

sudo add-apt-repository ppa:jonathonf/gcc-7.1
sudo apt-get update
sudo apt-get install gcc-7 g++-7
23
ответ дан 23 November 2019 в 01:04

Ubuntu 16.04 и ниже

существует официальная Ubuntu, GCC тестируют PPA, который должен быть предпочтен:

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-7 g++-7
gcc-7 --version

GCC 7 был выпуском в май 2017 , настолько слишком поздно для 17,04 основных выпусков.

PPA в настоящее время не имеет GCC для более новых выпусков, например, 16.10, только LTS 12.04, 14.04 и 16.04, как видно в: https://launchpad.net / ~ ubuntu-toolchain-r / + архив/человечность/тест | снимок . Я думаю, что это имело 17.04 ранее, но это было удалено?См. также: https://unix.stackexchange.com/questions/371737/install-gcc-7-on-ubuntu

, Протестированный на Ubuntu 16.04, октябрь 2018.

Ubuntu 17.10 и выше

Имеет GCC 7.2 и лязг 4 по умолчанию! https://packages.ubuntu.com/artful/gcc | https://packages.ubuntu.com/artful/clang

$ gcc --version
gcc (Ubuntu 7.2.0-8ubuntu3) 7.2.0
$ clang --version  
clang version 4.0.1-6 (tags/RELEASE_401/final)

GCC 8 на 16,04

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-8 g++-8
gcc-8 --version

дает 8.1.0 с 2018-11.

Значение по умолчанию в Ubuntu 18.04:

Crosstool-NG

, Если Вы действительно серьезно относитесь к этому, компилирует и использует Ваш собственный GCC с Crosstool-NG, как объяснено в: https://stackoverflow.com/questions/847179/multiple-glibc-libraries-on-a-single-host/52454603#52454603

Это позволит Вам использовать большое разнообразие версий GCC на большом разнообразии версий Ubuntu, не загружая блобы с PPAs, которому Вы не обязательно доверяете.

23
ответ дан 23 November 2019 в 01:04

OP просит, "как установить...". С другой стороны, как скомпилировать Лязг 4.0.

можно скомпилировать от исходного кода с помощью сценария из репозитория Microsoft ChakraCore's GitHub .

wget https://raw.githubusercontent.com/Microsoft/ChakraCore/master/tools/compile_clang.sh

Обновление LLVM_VERSION="3.9.1" в строке 7 к LLVM_VERSION="4.0.0"

sudo ./compile_clang.sh

Это загрузит и скомпилирует Лязг 4.0 (и целый набор инструментальных средств компилятора) с Золотой поддержкой LLVM.

1
ответ дан 23 November 2019 в 01:04

Вот мой шаг по установке gcc-7/g++-7 на Ubuntu 16.04 LTS И по умолчанию.

Сначала установите gcc-7/g++-7 с помощью официального ppa.

sudo apt update -qq
sudo apt install -yq software-properties-common
sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
sudo apt update -qq
sudo apt install -yq g++-7

with:

  • -y: автоматическое подтверждение
  • -q: тихий режим (несколько повышений уровня тишины)

Затем сделайте его альтернативой по умолчанию

sudo update-alternatives \
 --install /usr/bin/gcc gcc /usr/bin/gcc-7 60 \
 --slave /usr/bin/g++ g++ /usr/bin/g++-7 \
 --slave /usr/bin/gcov gcov /usr/bin/gcov-7 \
 --slave /usr/bin/gcov-tool gcov-tool /usr/bin/gcov-tool-7 \
 --slave /usr/bin/gcc-ar gcc-ar /usr/bin/gcc-ar-7 \
 --slave /usr/bin/gcc-nm gcc-nm /usr/bin/gcc-nm-7 \
 --slave /usr/bin/gcc-ranlib gcc-ranlib /usr/bin/gcc-ranlib-7

сейчас работает gcc --version должен возвращать gcc 7.4.0 IIRC

0
ответ дан 14 August 2020 в 12:13

Другие вопросы по тегам:

Похожие вопросы: