Поэтому я работаю над проектом, и я хотел использовать некоторые функции 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, поэтому по понятной причине я решила не удалять ее.
источник
update-alternatives
маршрут не будет работать для них, так как у них не было доступного двоичного файла gcc-4.7. Действительно, попытка следовать инструкциям в этом ответе после установки gcc-4.7-base приводит к ошибке:update-alternatives: error: alternative path /usr/bin/gcc-4.7 doesn't exist.
gcc
Двоичный находится вgcc-X.Y
пакете, а неgcc-X.Y-base
. Последнее является зависимостью либоgcc-X.Y
илиlibstdc++
.По сути, вы должны просто установить
gcc-4.7
и затем либо вызвать его какgcc-4.7
из вашего make-файла, либо использовать,install-alternatives
чтобы сделать его по умолчанию.источник