Как использовать GCC 4.7 вместо 4.6?
Поэтому я работаю над проектом, и я хотел использовать некоторые функции C11 для C. Чтобы использовать эти функции, требуется GCC 4.7, поэтому я перешел к synaptic и посмотрел 4.7, и нашел пакеты gcc-4.7-base, поэтому я установил его [1].
Итак, теперь, когда gcc-4.7-base установлен, я ожидал, что смогу использовать 4.7, но нет, когда я это сделаю gcc --version
это все еще показывает 4.6.3 даже больше, когда я пытаюсь напрямую вызвать 4.7(через /usr/bin/gcc-4.7
) это не существует, хотя gcc-4.6
исполняемый файл существует.
Как мне "активировать" GCC 4.7? Я читаю здесь, вы делаете сумасшедшие вещи с update-alternatives
, но это не работает для меня как gcc-4.7
исполняемый файл на самом деле не существует на моей машине.
Примечания: 1. Я также видел gcc-4.6-base, поэтому я решил удалить его, но synaptic попыталась удалить все установленные мной пакеты и установить среду выполнения Java, поэтому по понятной причине я решила не удалять ее.
2 ответа
Следующее сработало для меня.
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.6 60 --slave /usr/bin/g++ g++ /usr/bin/g++-4.6
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.7 40 --slave /usr/bin/g++ g++ /usr/bin/g++-4.7
sudo update-alternatives --config gcc
gcc
двоичный файл находится в gcc-X.Y
пакет, а не gcc-X.Y-base
, Последнее является зависимостью либо gcc-X.Y
или же libstdc++
,
По сути, вы должны просто установить gcc-4.7
а затем либо назвать это как gcc-4.7
из вашего make-файла или используйте install-alternatives
сделать его по умолчанию.