При установке gcc4.7 на 12.04 GCC не переключается с 4.6 на 4.7 - PullRequest
0 голосов
/ 03 апреля 2012

В настоящее время у меня установлены пакеты gcc4.7, gcc4.7-base и т. Д., Но GCC, похоже, все еще использует 4.6, когда я звоню

gcc --version

Я мог бы скомпилировать исходный код, если бы он мне сейчас действительно понадобился, но я планирую преобразовать какой-нибудь старый код, чтобы получить удовольствие от C ++ 11. Если у кого-то есть предложения по переходу с 4.6 на 4.7, скажите.

Я следовал руководству отсюда:

https://askubuntu.com/questions/113291/installing-gcc-4-7

Редактировать: исправлена ​​проблема, обновлена ​​ссылка на /usr/bin/gcc-4.7

Ответы [ 3 ]

2 голосов
/ 03 апреля 2012

Попробуйте выполнить следующее, чтобы увидеть, где находится gcc:

ls -l `which gcc`

Я бы сказал, что шансы - это все, что вам может понадобиться, это обновить ссылку (но опять же, я не могу проверить какЯ сейчас не загружаюсь в Linux)

1 голос
/ 03 апреля 2012

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

0 голосов
/ 03 апреля 2012

Скорее всего, многие программы, скомпилированные для gcc 4.6, могут не работать для gcc 4.7. Следовательно, вы должны сохранить и то и другое, чтобы ссылка на gcc4.7 менялась в зависимости от ситуации. Вы можете отредактировать ваш gcc файл как скрипт оболочки:

#!/bin/sh
if [ -n "$GCC_SIX" ]; 
then
  exec /usr/bin/gcc-4.6 "$@"
else
  exec /usr/bin/gcc-4.7 "$@"
fi

Теперь, когда вы обнаружите, что программа не работает на gcc4.7, просто добавьте новую переменную окружения, и вы переключитесь на gcc4.6 для текущего выполнения. Обратите внимание, что для многопользовательской системы это может оказаться спасением.

...