Pagina 1 di 1

problemi con gcc

Inviato: gio 2 mar 2006, 12:38
da xbug
ciao a tutti. Ho qualche problema con gcc.
Compilando un qualsiasi programma mi da errori che non comprendo. Ad esempio, compilando il classico programma ciao mondo mi seganala gli errori che seguono: che fare?

Codice: Seleziona tutto

In file included from /usr/include/c++/3.3.6/i486-slackware-linux/bits/c++config.h:35,
                 from /usr/include/c++/3.3.6/iostream:44,
                 from prova.cpp:1:
/usr/include/c++/3.3.6/i486-slackware-linux/bits/os_defines.h:39:22: features.h: No such file or directory
/usr/include/c++/3.3.6/i486-slackware-linux/bits/os_defines.h:46:23: gnu/types.h: No such file or directory
In file included from /usr/include/c++/3.3.6/i486-slackware-linux/bits/c++config.h:35,
                 from /usr/include/c++/3.3.6/iostream:44,
                 from prova.cpp:1:
/usr/include/c++/3.3.6/i486-slackware-linux/bits/os_defines.h:47: error: syntax 
   error before `;' token
In file included from /usr/include/c++/3.3.6/i486-slackware-linux/bits/c++locale.h:41,
                 from /usr/include/c++/3.3.6/iosfwd:46,
                 from /usr/include/c++/3.3.6/ios:44,
                 from /usr/include/c++/3.3.6/ostream:45,
                 from /usr/include/c++/3.3.6/iostream:45,
                 from prova.cpp:1:
/usr/include/c++/3.3.6/clocale:49:20: locale.h: No such file or directory
In file included from /usr/include/c++/3.3.6/i486-slackware-linux/bits/c++locale.h:41,
                 from /usr/include/c++/3.3.6/iosfwd:46,
                 from /usr/include/c++/3.3.6/ios:44,
                 from /usr/include/c++/3.3.6/ostream:45,
                 from /usr/include/c++/3.3.6/iostream:45,
                 from prova.cpp:1:
/usr/include/c++/3.3.6/clocale:57: error: `lconv' not declared
/usr/include/c++/3.3.6/clocale:58: error: `setlocale' not declared
/usr/include/c++/3.3.6/clocale:59: error: `localeconv' not declared
In file included from /usr/include/c++/3.3.6/iosfwd:46,
                 from /usr/include/c++/3.3.6/ios:44,
                 from /usr/include/c++/3.3.6/ostream:45,
                 from /usr/include/c++/3.3.6/iostream:45,
                 from prova.cpp:1:
/usr/include/c++/3.3.6/i486-slackware-linux/bits/c++locale.h:42:47: langinfo.h: No such file or directory
/usr/include/c++/3.3.6/i486-slackware-linux/bits/c++locale.h:43:68: iconv.h: No such file or directory
/usr/include/c++/3.3.6/i486-slackware-linux/bits/c++locale.h:44:48: libintl.h: No such file or directory
In file included from /usr/include/c++/3.3.6/iosfwd:46,
                 from /usr/include/c++/3.3.6/ios:44,
                 from /usr/include/c++/3.3.6/ostream:45,
                 from /usr/include/c++/3.3.6/iostream:45,
                 from prova.cpp:1:
/usr/include/c++/3.3.6/i486-slackware-linux/bits/c++locale.h:59: error: syntax 
   error before `;' token
/usr/include/c++/3.3.6/i486-slackware-linux/bits/c++locale.h:73: error: syntax 
   error before `&' token
In file included from /usr/include/c++/3.3.6/iosfwd:47,
                 from /usr/include/c++/3.3.6/ios:44,
                 from /usr/include/c++/3.3.6/ostream:45,
                 from /usr/include/c++/3.3.6/iostream:45,
                 from prova.cpp:1:
/usr/include/c++/3.3.6/cctype:49:19: ctype.h: No such file or directory
In file included from /usr/include/c++/3.3.6/iosfwd:47,
                 from /usr/include/c++/3.3.6/ios:44,
                 from /usr/include/c++/3.3.6/ostream:45,
                 from /usr/include/c++/3.3.6/iostream:45,
                 from prova.cpp:1:
/usr/include/c++/3.3.6/cctype:68: error: `isalnum' not declared
/usr/include/c++/3.3.6/cctype:69: error: `isalpha' not declared
/usr/include/c++/3.3.6/cctype:70: error: `iscntrl' not declared
/usr/include/c++/3.3.6/cctype:71: error: `isdigit' not declared
/usr/include/c++/3.3.6/cctype:72: error: `isgraph' not declared
/usr/include/c++/3.3.6/cctype:73: error: `islower' not declared
/usr/include/c++/3.3.6/cctype:74: error: `isprint' not declared
/usr/include/c++/3.3.6/cctype:75: error: `ispunct' not declared
/usr/include/c++/3.3.6/cctype:76: error: `isspace' not declared
/usr/include/c++/3.3.6/cctype:77: error: `isupper' not declared
/usr/include/c++/3.3.6/cctype:78: error: `isxdigit' not declared
/usr/include/c++/3.3.6/cctype:79: error: `tolower' not declared
/usr/include/c++/3.3.6/cctype:80: error: `toupper' not declared
In file included from /usr/include/c++/3.3.6/i486-slackware-linux/bits/c++io.h:35,
                 from /usr/include/c++/3.3.6/bits/fpos.h:44,
                 from /usr/include/c++/3.3.6/iosfwd:49,
                 from /usr/include/c++/3.3.6/ios:44,
                 from /usr/include/c++/3.3.6/ostream:45,
                 from /usr/include/c++/3.3.6/iostream:45,
                 from prova.cpp:1:
/usr/include/c++/3.3.6/cstdio:52:19: stdio.h: No such file or directory
In file included from /usr/include/c++/3.3.6/i486-slackware-linux/bits/c++io.h:35,
                 from /usr/include/c++/3.3.6/bits/fpos.h:44,
                 from /usr/include/c++/3.3.6/iosfwd:49,
                 from /usr/include/c++/3.3.6/ios:44,
                 from /usr/include/c++/3.3.6/ostream:45,
                 from /usr/include/c++/3.3.6/iostream:45,
                 from prova.cpp:1:
/usr/include/c++/3.3.6/cstdio:99: error: `FILE' not declared
/usr/include/c++/3.3.6/cstdio:100: error: `fpos_t' not declared
/usr/include/c++/3.3.6/cstdio:102: error: `clearerr' not declared
/usr/include/c++/3.3.6/cstdio:103: error: `fclose' not declared
/usr/include/c++/3.3.6/cstdio:104: error: `feof' not declared
/usr/include/c++/3.3.6/cstdio:105: error: `ferror' not declared
/usr/include/c++/3.3.6/cstdio:106: error: `fflush' not declared
/usr/include/c++/3.3.6/cstdio:107: error: `fgetc' not declared
/usr/include/c++/3.3.6/cstdio:108: error: `fgetpos' not declared
/usr/include/c++/3.3.6/cstdio:109: error: `fgets' not declared
/usr/include/c++/3.3.6/cstdio:110: error: `fopen' not declared
/usr/include/c++/3.3.6/cstdio:111: error: `fprintf' not declared
/usr/include/c++/3.3.6/cstdio:112: error: `fputc' not declared
/usr/include/c++/3.3.6/cstdio:113: error: `fputs' not declared
/usr/include/c++/3.3.6/cstdio:114: error: `fread' not declared
/usr/include/c++/3.3.6/cstdio:115: error: `freopen' not declared
/usr/include/c++/3.3.6/cstdio:116: error: `fscanf' not declared
/usr/include/c++/3.3.6/cstdio:117: error: `fseek' not declared
/usr/include/c++/3.3.6/cstdio:118: error: `fsetpos' not declared
/usr/include/c++/3.3.6/cstdio:119: error: `ftell' not declared
/usr/include/c++/3.3.6/cstdio:120: error: `fwrite' not declared
/usr/include/c++/3.3.6/cstdio:121: error: `getc' not declared
/usr/include/c++/3.3.6/cstdio:122: error: `getchar' not declared
/usr/include/c++/3.3.6/cstdio:123: error: `gets' not declared
/usr/include/c++/3.3.6/cstdio:124: error: `perror' not declared
/usr/include/c++/3.3.6/cstdio:125: error: `printf' not declared
/usr/include/c++/3.3.6/cstdio:126: error: `putc' not declared
/usr/include/c++/3.3.6/cstdio:127: error: `putchar' not declared
/usr/include/c++/3.3.6/cstdio:128: error: `puts' not declared
/usr/include/c++/3.3.6/cstdio:129: error: `remove' not declared
/usr/include/c++/3.3.6/cstdio:130: error: `rename' not declared
/usr/include/c++/3.3.6/cstdio:131: error: `rewind' not declared
/usr/include/c++/3.3.6/cstdio:132: error: `scanf' not declared
/usr/include/c++/3.3.6/cstdio:133: error: `setbuf' not declared
/usr/include/c++/3.3.6/cstdio:134: error: `setvbuf' not declared
/usr/include/c++/3.3.6/cstdio:135: error: `sprintf' not declared
/usr/include/c++/3.3.6/cstdio:136: error: `sscanf' not declared
/usr/include/c++/3.3.6/cstdio:137: error: `tmpfile' not declared
/usr/include/c++/3.3.6/cstdio:138: error: `tmpnam' not declared
/usr/include/c++/3.3.6/cstdio:139: error: `ungetc' not declared
/usr/include/c++/3.3.6/cstdio:140: error: `vfprintf' not declared
/usr/include/c++/3.3.6/cstdio:141: error: `vprintf' not declared
/usr/include/c++/3.3.6/cstdio:142: error: `vsprintf' not declared
/usr/include/c++/3.3.6/cstdio:167: error: `snprintf' not declared
/usr/include/c++/3.3.6/cstdio:168: error: `vfscanf' not declared
/usr/include/c++/3.3.6/cstdio:169: error: `vscanf' not declared
/usr/include/c++/3.3.6/cstdio:170: error: `vsnprintf' not declared
/usr/include/c++/3.3.6/cstdio:171: error: `vsscanf' not declared
/usr/include/c++/3.3.6/cstdio:177: error: `snprintf' not declared
/usr/include/c++/3.3.6/cstdio:178: error: `vfscanf' not declared
/usr/include/c++/3.3.6/cstdio:179: error: `vscanf' not declared
/usr/include/c++/3.3.6/cstdio:180: error: `vsnprintf' not declared
/usr/include/c++/3.3.6/cstdio:181: error: `vsscanf' not declared
In file included from /usr/include/c++/3.3.6/i486-slackware-linux/bits/gthr.h:98,
                 from /usr/include/c++/3.3.6/i486-slackware-linux/bits/c++io.h:37,
                 from /usr/include/c++/3.3.6/bits/fpos.h:44,
                 from /usr/include/c++/3.3.6/iosfwd:49,
                 from /usr/include/c++/3.3.6/ios:44,
                 from /usr/include/c++/3.3.6/ostream:45,
                 from /usr/include/c++/3.3.6/iostream:45,
                 from prova.cpp:1:
/usr/include/c++/3.3.6/i486-slackware-linux/bits/gthr-default.h:37:21: pthread.h: No such file or directory
/usr/include/c++/3.3.6/i486-slackware-linux/bits/gthr-default.h:38:20: unistd.h: No such file or directory
In file included from /usr/include/c++/3.3.6/i486-slackware-linux/bits/gthr.h:98,
                 from /usr/include/c++/3.3.6/i486-slackware-linux/bits/c++io.h:37,
                 from /usr/include/c++/3.3.6/bits/fpos.h:44,
                 from /usr/include/c++/3.3.6/iosfwd:49,
                 from /usr/include/c++/3.3.6/ios:44,
                 from /usr/include/c++/3.3.6/ostream:45,
                 from /usr/include/c++/3.3.6/iostream:45,
                 from prova.cpp:1:
/usr/include/c++/3.3.6/i486-slackware-linux/bits/gthr-default.h:40: error: syntax
   error before `;' token
/usr/include/c++/3.3.6/i486-slackware-linux/bits/gthr-default.h:41: error: syntax
   error before `;' token
/usr/include/c++/3.3.6/i486-slackware-linux/bits/gthr-default.h:42: error: syntax
   error before `;' token
/usr/include/c++/3.3.6/i486-slackware-linux/bits/gthr-default.h: In function `
   int __gthread_active_p()':
/usr/include/c++/3.3.6/i486-slackware-linux/bits/gthr-default.h:90: error: `
   pthread_create' undeclared (first use this function)
/usr/include/c++/3.3.6/i486-slackware-linux/bits/gthr-default.h:90: error: (Each
   undeclared identifier is reported only once for each function it appears 
   in.)
/usr/include/c++/3.3.6/i486-slackware-linux/bits/gthr-default.h: At global 
   scope:
/usr/include/c++/3.3.6/i486-slackware-linux/bits/gthr-default.h:450: error: `
   __gthread_once_t' was not declared in this scope
/usr/include/c++/3.3.6/i486-slackware-linux/bits/gthr-default.h:450: error: `
   once' was not declared in this scope
/usr/include/c++/3.3.6/i486-slackware-linux/bits/gthr-default.h:450: error: `
   func' was not declared in this scope
/usr/include/c++/3.3.6/i486-slackware-linux/bits/gthr-default.h:450: error: syntax
   error before `)' token
/usr/include/c++/3.3.6/i486-slackware-linux/bits/gthr-default.h:450: error: `
   __gthread_once' declared as an `inline' variable
/usr/include/c++/3.3.6/i486-slackware-linux/bits/gthr-default.h:450: error: initializer
   list being treated as compound expression
/usr/include/c++/3.3.6/i486-slackware-linux/bits/gthr-default.h:450: error: syntax
   error before `)' token
/usr/include/c++/3.3.6/i486-slackware-linux/bits/gthr-default.h:459: error: `
   __gthread_key_t' was not declared in this scope
/usr/include/c++/3.3.6/i486-slackware-linux/bits/gthr-default.h:459: error: `
   key' was not declared in this scope
/usr/include/c++/3.3.6/i486-slackware-linux/bits/gthr-default.h:459: error: `
   dtor' was not declared in this scope
/usr/include/c++/3.3.6/i486-slackware-linux/bits/gthr-default.h:459: error: syntax
   error before `*' token
/usr/include/c++/3.3.6/i486-slackware-linux/bits/gthr-default.h: In function `
   int __gthread_key_create(...)':
/usr/include/c++/3.3.6/i486-slackware-linux/bits/gthr-default.h:465: error: `
   __gthread_key_t' undeclared (first use this function)
/usr/include/c++/3.3.6/i486-slackware-linux/bits/gthr-default.h:465: error: syntax
   error before `,' token
/usr/include/c++/3.3.6/i486-slackware-linux/bits/gthr-default.h:466: error: cannot
   declare static function inside another function
/usr/include/c++/3.3.6/i486-slackware-linux/bits/gthr-default.h: In function `
   int __gthread_key_dtor(...)':
/usr/include/c++/3.3.6/i486-slackware-linux/bits/gthr-default.h:468: error: `
   ptr' undeclared (first use this function)
/usr/include/c++/3.3.6/i486-slackware-linux/bits/gthr-default.h:469: error: `
   key' undeclared (first use this function)
/usr/include/c++/3.3.6/i486-slackware-linux/bits/gthr-default.h:469: error: `
   pthread_setspecific' undeclared (first use this function)
/usr/include/c++/3.3.6/i486-slackware-linux/bits/gthr-default.h:475: error: syntax
   error before `)' token
/usr/include/c++/3.3.6/i486-slackware-linux/bits/gthr-default.h:476: error: cannot
   declare static function inside another function
/usr/include/c++/3.3.6/i486-slackware-linux/bits/gthr-default.h: In function `
   int __gthread_key_delete(...)':
/usr/include/c++/3.3.6/i486-slackware-linux/bits/gthr-default.h:477: error: `
   pthread_key_delete' undeclared (first use this function)
/usr/include/c++/3.3.6/i486-slackware-linux/bits/gthr-default.h:481: error: syntax
   error before `)' token
/usr/include/c++/3.3.6/i486-slackware-linux/bits/gthr-default.h:482: error: cannot
   declare static function inside another function
/usr/include/c++/3.3.6/i486-slackware-linux/bits/gthr-default.h: In function `
   void* __gthread_getspecific(...)':
/usr/include/c++/3.3.6/i486-slackware-linux/bits/gthr-default.h:483: error: `
   pthread_getspecific' undeclared (first use this function)
/usr/include/c++/3.3.6/i486-slackware-linux/bits/gthr-default.h:487: error: syntax
   error before `,' token
/usr/include/c++/3.3.6/i486-slackware-linux/bits/gthr-default.h:488: error: cannot
   declare static function inside another function
/usr/include/c++/3.3.6/i486-slackware-linux/bits/gthr-default.h: In function `
   int __gthread_setspecific(...)':
/usr/include/c++/3.3.6/i486-slackware-linux/bits/gthr-default.h:489: error: `
   pthread_setspecific' undeclared (first use this function)
/usr/include/c++/3.3.6/i486-slackware-linux/bits/gthr-default.h:493: error: `
   __gthread_mutex_t' undeclared (first use this function)
/usr/include/c++/3.3.6/i486-slackware-linux/bits/gthr-default.h:493: error: `
   mutex' undeclared (first use this function)
/usr/include/c++/3.3.6/i486-slackware-linux/bits/gthr-default.h:494: error: `
   __gthread_mutex_lock' declared as an `inline' variable
/usr/include/c++/3.3.6/i486-slackware-linux/bits/gthr-default.h:494: confused by earlier errors, bailing out

Re: problemi con gcc

Inviato: gio 2 mar 2006, 13:37
da Simone_R
Posta anche il prova.c
e il comando di compilazione.

Inviato: gio 2 mar 2006, 20:15
da xbug

Codice: Seleziona tutto

#include <iostream> 
int main()
{
   cout << "Ciao mondo crudele";
   return 0;
}
Uso il comando
gcc prova.cpp

Inviato: ven 3 mar 2006, 1:06
da Karma
Semplicemente usa g++ invece di gcc...
gcc nasce come compilatore per c, non riconoscerebbe quindi il c++, puoi farlo lo stesso ma dovresti, a quanto ho capito, creare l'eseguibile in due fasi...
Per maggiori informazioni leggi qui:

http://www.badpenguin.org/press/infomed ... ilare.html

Comunque la scelta più sensata, secondo me, è usare g++! Lo uso da sempre e non ho mai avuto di questi problemi!

Ciao e buon lavoro!

Inviato: ven 3 mar 2006, 11:50
da xbug
ho usato g++ ma da lo stesso errore....
:shock:
Che fare?
Ho anche provato a disinstallare tutto il gcc e reinstallarlo con swaret ma non funziona lo stesso.

Tristezza e depressione....

Ho anche provato a creare il file ciao.c così

Codice: Seleziona tutto

int main()
{
   ;
   return 0;
}
e a compilarlo con cc ma mi segala

Codice: Seleziona tutto

/usr/lib/gcc-lib/i486-slackware-linux/3.3.6/../../../../i486-slackware-linux/bin/ld: crt1.o: No such file: No such file or directory
collect2: ld returned 1 exit status
Stesso errore se lo faccio con gcc o g++

[/code]

Inviato: ven 3 mar 2006, 12:14
da fulmine
Hai installato tutte le librerie necessarie per la compilazione?

Inviato: ven 3 mar 2006, 12:34
da xbug
non saprei, come faccio a verificarlo? Swaret ha controllato le dipendenze e non ha riscontrato errori...

Inviato: ven 3 mar 2006, 14:46
da Karma
posso provare dicendoti quello che ho installato io...
# ls /var/log/packages | grep "gcc"
mi dà come risultato:
gcc-3.3.6-i486-1
gcc-g++-3.3.6-i486-1
gcc-g77-3.3.6-i486-1
gcc-java-3.3.6-i486-1
gcc-objc-3.3.6-i486-1
e invece
# ls /var/log/packages | grep "glib"
mi dà come risultato:
glib-1.2.10-i386-2
glib2-2.6.6-i486-1
glibc-2.3.5-i486-5
glibc-i18n-2.3.5-noarch-5
glibc-solibs-2.3.5-i486-5
glibc-zoneinfo-2.3.5-noarch-5
prova a vedere se li hai installati anche tu...

Inviato: ven 3 mar 2006, 15:04
da fulmine
Ok, stasera proverò perchè ora non sono a casa...

Inviato: ven 3 mar 2006, 19:16
da xbug
Risolto. Una volta installate le librerie che mi hai indicato tutto a preso a funzionare correttamente.
Grazie.

Inviato: ven 3 mar 2006, 22:16
da Karma
Perfetto!
Contento di averti aiutato!
Ora allora buon lavoro e a presto!