Gcc-7 veya clang 4.0 nasıl kurulur?


27

C ++ 17 özelliklerini denemek ve standart uyumlu derleyici (tercihen GCC) yüklemek istiyorum. Linux ve Ubuntu'da tamamen yeniyim ve çok fazla anlamıyorum.

Https://launchpad.net/~ubuntu-toolchain-r/+archive/ubuntu/test ancak şanssız takip etmeye çalıştım . İlk ben koştum:

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

Anladığım kadarıyla bu komut bazı anahtarlar yükler. Sonra denedim:

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

Bu döndü:

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

Sonra clang geliştirme şubesini kurmaya çalıştım:

apt-get install clang-4.0 lldb-4.0

Ve bana verir

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'

Bütün bunlar ne anlama geliyor? Sorun nedir?


1
Koştuğunuz add-apt-repositorykomut, PPA'nın sayfasında verilen ile aynı değil, bu yüzden işe yaramaması şaşırtıcı değil. Doğru olanı çalıştırmayı deneyin.
— fkraiem

testÖnce paketi kurdum . Soru güncellendi.
— nikitablack

add-apt-repositoryAdından da anlaşılacağı gibi bir havuz ekler, bir paket yüklemez. Şimdi yapabilirsin apt install gcc-7.
— fkraiem

PPA testinde bir gcc-7 paketi var. Bunu yüklemeye çalışmadın mı?
— saat

2
@nikitablack gcc 7 16.04 için mevcut değil gibi görünüyor: launchpad.net/~ubuntu-toolchain-r/+archive/ubuntu/… Ama klan konusunda daha iyi bir şansınız olabilir, bu sayfanın tabanına bakın: apt.llvm .org
— andrew.46

Yanıtlar:


23

Gcc-7 ve g ++ - 7'yi zaten bu paketten yükleyebilirsiniz .

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

9
Evet, bu işe yarıyor. Bugün gelince, bu ppa da işe yarıyoradd-apt-repository ppa:ubuntu-toolchain-r/test && apt-get update && apt-get install -y gcc-7
— nikitablack

clang-4.0.0 kuruluyor ancak clang -v 3.8.0 gösteriyor.
— KIRMIZI

Her ikisi de 4.0.0 ve 3.8.0 yüklü ancak varsayılan olarak sistem 3.8 okur. Bunu okuyan Emscripten kullanırken hangisi dağılır ki bu 4.0.0 gerektirir.
— KIRMIZI

Bu repo konut bağlantısı falan mı çalışıyor?
— Jonathan Henson,

23

Ubuntu 16.04 ve altı

Tercih edilmesi gereken resmi bir Ubuntu GCC testi PPA'sı var:

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 Mayıs 2017’de serbest bırakıldı, 17.04 ana sürüm için çok geç.

PPA şu anda daha yeni sürümler için GCC'ye sahip değildir; örneğin, 16.10, yalnızca LTS 12.04, 14.04 ve 16.04, görüldüğü gibi: https://launchpad.net/~ubuntu-toolchain-r/+archive/ubuntu/test | anlık görüntü . Daha önce 17.04 olduğunu düşünüyorum ama kaldırıldı. Ayrıca bakınız: https://unix.stackexchange.com/questions/371737/install-gcc-7-on-ubuntu

Ubuntu 16.04, Ekim 2018'de test edilmiştir.

Ubuntu 17.10 ve üzeri

Varsayılan olarak GCC 7.2 ve clang 4 var! 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)

16.04 tarihinde GCC 8

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

2018-11 itibariyle 8.1.0 verir.

Ubuntu 18.04’de varsayılan:

Crosstool-NG

Bu konuda gerçekten ciddiysen, kendi GCC'nizi Crosstool-NG ile derleyin ve kullanın: https://stackoverflow.com/questions/847179/multiple-glibc-libraries-on-a-single-host/52454603# 52454603

Bu, mutlaka güvenmediğiniz PPA'lardan blob indirmeden çok çeşitli Ubuntu sürümlerinde GCC sürümlerini kullanmanızı sağlar.


1

OP "nasıl kurulur ..." diye sorar. Alternatif olarak, Clang 4.0 nasıl derlenir.

Microsoft ChakraCore'un GitHub deposundaki komut dosyasını kullanarak kaynak koddan derleyebilirsiniz .

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

LLVM_VERSION="3.9.1"Satır 7’deki güncellemeLLVM_VERSION="4.0.0"

sudo ./compile_clang.sh

LLVM Gold desteği ile Clang 4.0'ı (ve tüm derleyici araç zincirini) indirip derleyecektir.


3
"LLVM altın" nedir?
— einpoklum - Monica

@einpoklum Sanırım Binutils'ten Altın Linker için LLVM altın eklentisi . Bağlantı zamanı optimizasyonu için kullanılır.
— Ruslan
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.