Я хочу скомпилировать мою программу с последней версией 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.
Похоже, он уже установлен, но не по умолчанию? Как я могу использовать его для создания моей программы?
Лучший способ правильно установить 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 предназначены для исправления ошибок .
Используйте 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 ) доступны, но другие внешние интерфейсы недоступны. Не знаю почему.
Чтобы конкретно вызвать gcc 4.9, используйте gcc-4.9
в командной строке.
Все установленные вами версии gcc можно вызывать по отдельности, добавляя дефис и номер версии в конце gcc
. В вашем случае должны быть доступны gcc-4.8
и gcc-4.9
. В терминале введите gcc-
(обратите внимание на дефис) и дважды нажмите вкладку, чтобы увидеть, установлены ли какие-либо другие версии.
Обратите внимание, что gcc по умолчанию, вероятно, все еще 4.8. (Используйте gcc -v
, чтобы проверить это.) К сожалению, изменение значения по умолчанию не является тривиальным, если вы установили gcc-4.9 из репозитория по умолчанию, поскольку он не добавлял запись о вариантах обновления. Если вас интересует, как изменить значение по умолчанию, см. Ответы на этот этот вопрос .
Окончательная таблица совместимости мега-мастера
Хорошо, давайте сделаем это:
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
Вы уже можете установить 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?.