Таким образом, я работаю над проектом, и я хотел использовать некоторые функции C11 для C. Использовать те функции GCC 4.7 требуется, таким образом, я перешел к синаптическому и искал 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
) это не существует, хотя a gcc-4.6
исполняемый файл действительно существует.
Как я "активирую" GCC 4.7? Я читал здесь, Вы делаете некоторый сумасшедший материал с update-alternatives
, но это не работает на меня как gcc-4.7
исполняемый файл на самом деле не существует на моей машине.
Примечания: 1. Я также видел gcc-4.6-base, таким образом, я полагал, что удалю его, но синаптический попытался удалить каждый пакет, я установил и устанавливаю Среду выполнения Java, таким образом, по очевидной причине я решил не удалить его.
Для меня сработало следующее.
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-база
. Последняя является зависимостью либо gcc-X.Y
, либо libstdc++
.
В основном, вы должны просто установить gcc-4.7
, а затем либо вызвать его как gcc-4.7
из makefile, либо использовать install-alternatives
, чтобы сделать его по умолчанию.