2010-05-13 14 views
7
$ yum list | grep gcc 
arm-gp2x-linux-gcc.i686   4.1.2-11.fc12   @fedora    
arm-gp2x-linux-gcc-c++.i686  4.1.2-11.fc12   @fedora    
gcc.i686       4.4.3-4.fc12   @updates    
libgcc.i686      4.4.3-4.fc12   @updates    
avr-gcc.i686      4.4.2-2.fc12   updates    
avr-gcc-c++.i686     4.4.2-2.fc12   updates    
compat-gcc-34.i686     3.4.6-18    fedora     
compat-gcc-34-c++.i686    3.4.6-18    fedora     
compat-gcc-34-g77.i686    3.4.6-18    fedora     
compat-libgcc-296.i686    2.96-143    fedora     
gcc-c++.i686      4.4.3-4.fc12   updates    
gcc-gfortran.i686     4.4.3-4.fc12   updates    
gcc-gnat.i686      4.4.3-4.fc12   updates    
gcc-java.i686      4.4.3-4.fc12   updates    
gcc-objc.i686      4.4.3-4.fc12   updates    
gcc-objc++.i686     4.4.3-4.fc12   updates    
mingw32-gcc.i686     4.4.1-3.fc12   fedora     
mingw32-gcc-c++.i686    4.4.1-3.fc12   fedora     
mingw32-gcc-gfortran.i686   4.4.1-3.fc12   fedora     
mingw32-gcc-objc.i686    4.4.1-3.fc12   fedora     
mingw32-gcc-objc++.i686   4.4.1-3.fc12   fedora     
msp430-gcc.i686     3.2.3-3.20090210cvs.fc12 
$ 

gcc działa dobrze na plikach .c ale nie na plikach .cpp mówiąc:nie mogli używać g ++ z Fedory

$ gcc: błąd próbując exec 'cc1plus': execvp: Nie ma takiego plik lub katalog

g ++ zawiedzie mówiąc:

$ g ++: Komenda nie została znaleziona.

Co należy zrobić, aby móc kompilować pliki w C++?

Odpowiedz

8

gcc-C++ nie jest zainstalowany.

Polecenie yum list pokazuje wszystkie pakiety, a nie tylko zainstalowane pakiety. Pakiety, które są zainstalowane, są poprzedzone znakiem ampersand lub znakiem "@". Pakiety, które nie są zainstalowane (ale można je zainstalować), nie mają ampersand.

Aby sprawdzić, co jest zainstalowane, wypróbuj polecenie rpm -qa. Lub w twoim przykładzie: rpm -qa | grep gcc

Co dziwne, jeśli nie grep dla gcc, możesz zobaczyć linie wyjściowe "Zainstalowane pakiety" i "Dostępne pakiety" między dwoma zestawami.

11

trzeba zainstalować gcc-C++ pakiet:

yum install gcc-c++

+1

Co to za linia? 'gcc-C++. i686 4.4.3-4.fc12 updates' – Nitrodist

+2

@Nitrodist:' lista yum' nie wyświetla zainstalowanych pakietów, wyświetla listę wszystkich dostępnych pakietów. Pakiet 'gcc-C++' jest prawdopodobnie dostępny za pośrednictwem pewnego rodzaju repozytorium aktualizacji. – Troubadour

+0

@Nitrodist - Jeśli w tej linii było poprzedzone "@" prefiksem, oznaczałoby to, że został zainstalowany, bez prefiksu @, to po prostu oznacza, że ​​jest on dostępny do instalacji. – Greenonline