Как мне использовать последнюю версию 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.

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

156
задан 5 June 2016 в 05:30

5 ответов

Лучший способ правильно установить 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

- подчиненное устройство с 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 предназначены для исправления ошибок .

213
ответ дан 5 June 2016 в 05:30

Используйте Toolchain Test Builds 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 ) доступны, но другие внешние интерфейсы недоступны. Не знаю почему.

24
ответ дан 5 June 2016 в 05:30

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

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

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

4
ответ дан 5 June 2016 в 05:30

Окончательная таблица совместимости мега-мастера

Хорошо, давайте сделаем это:

               GCC            clang
        +----------------+-----------------+
        | 10 9 8 7 6 5 4 | 11 10 9 8 7 6 5 |
+-------+----------------+-----------------+
| 20.10 |  D M M M       |  D  M M M M M   |
| 20.04 |  P D M M       |     D M M M M   |
| 19.10 |    D M M       |                 |
| 19.04 |    M D M M     |                 |
| 18.10 |      D M M M   |                 |
| 18.04 |  P P M D M M   |       M M M D M |
| 16.04 |    P P P P D M |                 |
+-------+----------------+-----------------+
  • D : GCC по умолчанию

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

    Какими бы ни были псевдонимы пакета gcc для: https://packages.ubuntu.com/search?ключевые слова = gcc , а также присутствуют в манифестах: Как мне перечислить пакеты, установленные по умолчанию?

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

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

    Все версии Ubuntu, имеющие успех для данной версии GCC, например для GCC 7: https://packages.ubuntu.com/search?keywords=gcc-7

    Дополнительные версии этих пакетов могут время от времени обновляться, например От 8.3.0 до 8.4.0.

  • 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

    Дополнительные версии этих пакетов могут время от времени обновляться, например От 8.3.0 до 8.4.0.

Все вопросы:

Как установить не используемый по умолчанию GCC по умолчанию?

Например, вы установили / usr / bin / gcc-7 , но вы хотите использовать его вместо / usr / bin / gcc при запуске gcc main.c .

Используйте sudo update-alternatives как упомянутые в других ответах: https://askubuntu.com/a/581497/52975 Он создает для вас необходимые символические ссылки.

См. также: Что именно делает `update-alternatives` ?

Как создать собственную цепочку инструментов из исходного кода

Если даже PPA недостаточно старый / новый для вас, см. Это:

Вопросы о более старой версии GCC

10
ответ дан 7 October 2019 в 20:04

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 могут быть установлены рядом друг с другом. Вы можете изменить версию gcc по умолчанию, используя команду update-alternatives, чтобы определить, на какой актуальный файл ссылается общее имя, например, на какой актуальный файл ссылается gcc. Дополнительную информацию см. в ответах на этот вопрос: Как изменить компилятор GCC по умолчанию в Ubuntu?.

9
ответ дан 22 November 2019 в 22:54

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

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