Как мне использовать последнюю версию GCC в Ubuntu?

Я хочу скомпилировать мою программу с последней версией gcc,

Ubuntu 14.04 поставляется с gcc 4.8.2, однако доступна 4.9.0, более того, я вижу, что она доступна в виде пакета: gcc-4.9, Я пытался установить его

sudo apt-get install gcc-4.9

но это говорит

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Note, selecting 'gcc-4.9-base' for regex 'gcc-4.9'
gcc-4.9-base is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

Похоже, он уже установлен, но не по умолчанию? Как я могу использовать его для создания моей программы?

4 ответа

Решение

Лучший способ правильно установить gcc-4.9 и установить его в качестве версии gcc по умолчанию:

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-4.9 g++-4.9
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 60 --slave /usr/bin/g++ g++ /usr/bin/g++-4.9

--slave, с g++, вызовет g++ переключаться вместе с gcc, к той же версии. Но в этот момент gcc-4.9 будет вашей единственной версией, настроенной в update-alternativesтак что добавьте 4.8 к update-alternatives, так что на самом деле есть альтернатива, используя:

sudo apt-get install gcc-4.8 g++-4.8
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 60 --slave /usr/bin/g++ g++ /usr/bin/g++-4.8

Затем вы можете проверить, какой из них установлен, и переключаться туда и обратно, используя:

sudo update-alternatives --config gcc

ПРИМЕЧАНИЕ. Вы можете пропустить установку репозитория PPA и просто использовать /usr/bin/gcc-4.9-base но я предпочитаю использовать свежие обновленные наборы инструментов.


Для GCC 5.X или 6 пакеты (и, соответственно, команды) просто называются gcc-5, gcc-6и т. д. Это связано с изменением схемы версий GCC, где 5.1 - это первая версия GCC 5, а будущие версии 5.X предназначены для исправления ошибок.

ОК, давайте сделаем это:

GCC   9 8 7 6 5 4
19.04 M D M M
18.10   D M M M
18.04 P M D M M
16.04 P P P P D M
  • D: GCC по умолчанию

    sudo apt-get update
    sudo apt-get install gcc-X g++-X
    gcc-X --version
    

    Безотносительно gcc пакет псевдонимов для: https://packages.ubuntu.com/search?keywords=gcc

  • М: присутствует в основном репо

    sudo apt-get update
    sudo apt-get install gcc-X g++-X
    gcc-X --version
    

    Например: https://packages.ubuntu.com/search?keywords=gcc-7

  • P: ppa:ubuntu-toolchain-r/test, которой владеют люди из Ubuntu, и поэтому ей можно доверять, чтобы она не была вирусом, хотя, возможно, она нестабильна:

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

    https://launchpad.net/~ubuntu-toolchain-r/+archive/ubuntu/test

Все вопросы:

Используйте тестовый набор инструментов для сборки PPA:

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

Я не думаю, что GCC 4.9 полностью доступна для Ubuntu 14.04. Базовый пакет ( gcc-4.9-base) и компилятор GCC Go 4.9 ( gccgo-4.9) доступны, но другие интерфейсы - нет. Я не знаю почему.

Ubuntu 16.04 и позже

Вы уже можете установить gcc 7.0 в Ubuntu 18.04 из репозиториев по умолчанию. Чтобы установить gcc-7 в Ubuntu 17.10, 18.04 и 18.10, откройте терминал и введите:

sudo apt install gcc-7 

Чтобы установить gcc-8 в Ubuntu 18.04 и более поздних версиях, откройте терминал и введите:

sudo apt install gcc-8

Чтобы установить gcc-9 в Ubuntu 19.04 и более поздних версиях, откройте терминал и введите:

sudo apt install gcc-9

Вы можете установить gcc-7 в Ubuntu 16.04 из ppa:jonathonf/gcc-7.1.

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

Вы можете установить gcc-8 в Ubuntu 16.04 из ppa:jonathonf/gcc-8.0.

sudo add-apt-repository ppa:jonathonf/gcc-8.0  
sudo apt update  
sudo apt install gcc-8 

Для вызова gcc 4.9, в частности, используйте gcc-4.9 в командной строке.

Все установленные вами версии gcc можно вызвать по отдельности, добавив дефис и номер версии в конце gcc, В твоем случае, gcc-4.8 а также gcc-4.9 должен быть доступен. В терминале введите gcc- (обратите внимание на дефис) и дважды нажмите вкладку, чтобы увидеть, установлены ли какие-либо другие версии.

Обратите внимание, что по умолчанию gcc, вероятно, по-прежнему 4.8. (Использование gcc -v чтобы убедиться в этом.) К сожалению, изменение значения по умолчанию не является тривиальным, если вы установили gcc-4.9 из репозитория по умолчанию, так как он не добавил запись об альтернативах обновления. Если вас интересует, как изменить настройки по умолчанию, смотрите ответы на этот вопрос.

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