Я только что установил gcc 4.7 из репозитория ppa. Ubuntu 12.04 уже поставляется с 4.6. Когда я использую команду:
gcc --version
Это говорит мне, что точнее 4.6.3.
Я понятия не имею, как запустить компилятор 4.7. На самом деле, я не прочь стереть предыдущую версию и остаться только с 4.7 (думаю, это не будет проблемой).
Как я могу это исправить?
Используйте 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
Существуют механизмы для переключения версии 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).