Имея 2 версии GCC

Я только что установил gcc 4.7 из репозитория ppa. Ubuntu 12.04 уже поставляется с 4.6. Когда я использую команду:

gcc --version

Это говорит мне, что точнее 4.6.3.

Я понятия не имею, как запустить компилятор 4.7. На самом деле, я не прочь стереть предыдущую версию и остаться только с 4.7 (думаю, это не будет проблемой).

Как я могу это исправить?

1
задан 27 September 2012 в 12:34

2 ответа

Используйте update-alternatives (из CLI) или galternatives (из GUI), чтобы установить значение по умолчанию для gcc.

Если у вас их нет, установите с помощью: sudo apt-get install galternatives.
Я бы использовал версию с графическим интерфейсом, она более проста для новичка.

Из CLI:
sudo update-alternatives --install /usr/bin/gcc gcc /path/to/newer/gcc 40
sudo update-alternatives --install /usr/bin/gcc gcc /path/to/older/gcc 30
sudo update-alternatives --config gcc

0
ответ дан 27 September 2012 в 12:34

Существуют механизмы для переключения версии gcc (и других инструментов), которую вы получаете, используя их имя (gcc). плохая вещь. Существующие программы были успешно скомпилированы и протестированы с компилятором по умолчанию, и хотя можно было бы надеяться, что более новый компилятор по-прежнему будет давать приемлемые результаты, никаких гарантий нет. То, что устарело в компиляторе, может быть удалено в следующей версии. Могут появиться новые ошибки. Есть причина, по которой дистрибутив использует определенную версию компилятора — все программы, которые они предоставляют, работают с этой версией, а некоторые, вероятно, не работают с более поздней версией.
Для собственного использования выберите нужный компилятор (gcc-8 в приведенном ниже примере), не изменяя общесистемные значения по умолчанию, добавив ссылки gcc (и ar, nm, ranlib) на нужную версию в свой собственный каталог ~/bin. :

ln -s ~/bin/gcc -> /usr/bin/gcc-8  
ln -s ~/bin/ar -> /usr/bin/gcc-ar-8  
ln -s ~/bin/ranlib -> /usr/bin/gcc-ranlib-8  
ln -s ~/bin/nm -> /usr/bin/gcc-nm-8  

Если ваш каталог ~/bin не существует, создайте его:

mkdir ~/bin

Ваш каталог ~/bin будет взят и добавлен в начало вашей переменной окружения PATH, так что там будет найдена и использована команда gcc , вместо системного значения по умолчанию в /usr/bin.

Этот метод может применяться к приложениям, которым требуются определенные версии компилятора (например, CUDA). Ссылки на выбранную версию компилятора можно поместить в каталог bin приложения, и это местоположение может быть добавлено первым в ваш PATH (в .profile для пользователей оболочки bash).

0
ответ дан 23 May 2020 в 16:13

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

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