Как использовать 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 сделать его по умолчанию.

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