web-dev-qa-db-fra.com

Comment installer gcc-7 ou clang 4.0?

Je veux essayer les fonctionnalités C++ 17 et installer un compilateur conforme aux normes (de préférence GCC). Je suis totalement nouveau sous Linux et Ubuntu et je ne comprends tout simplement pas beaucoup.

J'ai essayé de suivre https://launchpad.net/~ubuntu-toolchain-r/+archive/ubuntu/test mais sans chance. J'ai d'abord couru:

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

Si j'ai bien compris, cette commande installe des clés. Ensuite j'ai essayé:

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

Qui est retourné:

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

Ensuite, j'ai essayé d'installer Clang Development Branch:

apt-get install clang-4.0 lldb-4.0

Et ça me donne

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'

Qu'est-ce que tout cela signifie? Qu'est-ce qui ne va pas?

25
nikitablack

Vous pouvez déjà installer gcc-7 et g ++ - 7 à partir de ce paquet .

Sudo add-apt-repository ppa:jonathonf/gcc-7.1
Sudo apt-get update
Sudo apt-get install gcc-7 g++-7
20
Jendas

Ubuntu 16.04 et inférieur

Il existe un PPA de test officiel Ubuntu GCC qui devrait être préféré:

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 a été publié le en mai 2017 , donc trop tard pour la version 17.04.

Le PPA ne dispose pas actuellement de GCC pour les nouvelles versions, par exemple. 16.10, uniquement LTS 12.04, 14.04 et 16.04, comme on peut le voir sur: https://launchpad.net/~ubuntu-toolchain-r/+archive/ubuntu/test | instantané . Je pense qu'il avait 17.04 précédemment mais il a été supprimé? Voir aussi: https://unix.stackexchange.com/questions/371737/install-gcc-7-on-ubuntu

Testé sur Ubuntu le 16.04, octobre 2018.

Ubuntu 17.10 et supérieur

A GCC 7.2 et Clang 4 par défaut! 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 le 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

donne 8.1.0 à partir de 2018-11.

Par défaut dans Ubuntu 18.04:

Crosstool-NG

Si vous êtes vraiment sérieux à ce sujet, compilez et utilisez votre propre compte GCC avec Crosstool-NG, comme expliqué à l'adresse suivante: https://stackoverflow.com/questions/847179/multiple-glibc-libraries-on-a -single-Host/52454603 # 52454603

Cela vous permettra d'utiliser une grande variété de versions de GCC sur une grande variété de versions d'Ubuntu sans télécharger de blobs à partir de PPA auxquels vous ne faites pas nécessairement confiance.

OP demande "comment installer ...". Alternativement, comment compiler Clang 4.0.

Vous pouvez compiler à partir du code source en utilisant le script de Microsoft référentiel GitHub de ChakraCore .

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

Mettez à jour LLVM_VERSION="3.9.1" à la ligne 7 avec LLVM_VERSION="4.0.0"

Sudo ./compile_clang.sh

Il téléchargera et compilera Clang 4.0 (et l’ensemble des outils du compilateur) avec le support de LLVM Gold.

1
Nuray Altin