Pracuję więc nad projektem i chciałem użyć niektórych funkcji C11 dla C. Aby korzystać z tych funkcji, wymagany jest GCC 4.7, więc poszedłem do synaptic i sprawdziłem 4.7, i znalazłem pakiety gcc-4.7-base, więc zainstalowałem [1].
Więc teraz, gdy gcc-4.7-base jest zainstalowany, spodziewałem się, że będę mógł używać 4.7, ale nie, kiedy to zrobię gcc --version
, nadal pokazuje 4.6.3, nawet więcej, gdy próbuję bezpośrednio wywołać 4.7 (via /usr/bin/gcc-4.7
), to nie istnieje, chociaż istnieje gcc-4.6
plik wykonywalny.
Jak „aktywować” GCC 4.7? Czytam tutaj , robisz szalone rzeczy update-alternatives
, ale to nie działa dla mnie, ponieważ gcc-4.7
plik wykonywalny nie istnieje na mojej maszynie.
Uwagi: 1. Widziałem także gcc-4.6-base, więc pomyślałem, że go odinstaluję, ale synaptic próbował usunąć każdy zainstalowany pakiet i zainstalować środowisko wykonawcze Java, więc z oczywistych powodów postanowiłem go nie usuwać.
źródło
update-alternatives
trasa nie zadziała dla nich, ponieważ nie mieli dostępnego pliku binarnego gcc-4.7. Rzeczywiście, próba wykonania instrukcjiupdate-alternatives: error: alternative path /usr/bin/gcc-4.7 doesn't exist.
Plik
gcc
binarny jest wgcc-X.Y
pakiecie, niegcc-X.Y-base
. Ta ostatnia jest zależnością jednejgcc-X.Y
lublibstdc++
.Zasadniczo powinieneś po prostu zainstalować,
gcc-4.7
a następnie wywołać gogcc-4.7
z pliku makefile lub użyć,install-alternatives
aby ustawić go jako domyślny.źródło