PDA

View Full Version : [C] GCC e libreria stdio.h


lorenzo_ktm
12-05-2008, 17:08
ciao a tutti,
volevo provare a compilare un programma in c con gcc e non riesco a trovare l'header stdio.h

potreste postare il contenuto di questa libreria?

ne ho trovata una su internet ma compilando un programmino di 10 righe mi gcc mi ha segnalato più di 200 errori quindi non credo sia molto affidabile..

DanieleC88
12-05-2008, 17:14
Veramente il tag [C] lo dovevi mettere all'inizio del titolo, ma vabbe'. :p

Se stai usando gcc l'header ce l'hai già, è parte della standard library: mi dici un po' come stai compilando il tutto e l'errore che ti dà?

Ricorda che per includerlo basta un #include <stdio.h>. ;)

lorenzo_ktm
12-05-2008, 17:31
il programma è di una banalità assurda comunque all'inizio ho messo
#include<stdio.h>

da linea di comando scrivo

cd cartella del programm
gcc prog.c

poi ho provato anche
gcc prog.c -o prog

gli errori sono 203! e sono tutti di questo tipo:

/usr/lib/gcc/x86_64-linux-gnu/4.2.3/include/stdio.h:103: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘_cdecl’

DanieleC88
12-05-2008, 17:33
Posso vedere il codice? Sennò non posso individuare il problema. ;)

lorenzo_ktm
12-05-2008, 17:36
#include <stdio.h>

main()
{
printf("ciao\n");
}



nulla di pazzesco :D

DanieleC88
12-05-2008, 17:47
Oddio, la main() senza un valore di ritorno è un pugno nell'occhio, falle restituire un int e dai un return 0; alla fine... :D

Non capisco perché gcc non includa /usr/include/stdio.h...
Che versione hai installato (gcc -v)?

71104
12-05-2008, 18:15
:confused:

curioso in effetti; prova ad includere stdlib.h prima di stdio.h

71104
12-05-2008, 18:16
ah, ma sei su Linux o su Windows? io per esempio su fedora inizialmente non riuscivo mai a compilare perché pur essendoci il gcc mancava il pacchetto build-essentials (mancavano headers fondamentali).

DanieleC88
12-05-2008, 18:18
ah, ma sei su Linux o su Windows? io per esempio su fedora inizialmente non riuscivo mai a compilare perché pur essendoci il gcc mancava il pacchetto build-essentials (mancavano headers fondamentali).
Il problema però qui è che sembrano esserci, ma con degli "errori" (strane istruzioni in assembly inline, pare, ma il fatto è che nel percorso leggo x64_86, non vorrei che avesse installato un compilatore per la piattaforma sbagliata e gli desse quell'errore...).

lorenzo_ktm
12-05-2008, 20:07
su linux.. Ubuntu 8.04 per l'architettura a 64bit

la main() senza un valore col quickC non da problemi..
cmq per sicurezza la metto ;)

versione 4.2.3

DanieleC88
12-05-2008, 20:22
Molto strano questo problema, non saprei da cosa dipende... Prova effettivamente a controllare se build-essentials è installato. ;)

71104
12-05-2008, 20:25
su linux.. Ubuntu 8.04 per l'architettura a 64bit

la main() senza un valore col quickC non da problemi..
cmq per sicurezza la metto ;)

versione 4.2.3
ma il gcc l'hai installato tu o c'era già? nel primo caso, sicuro che si tratti del gcc per le architetture a 64 bit? sicuro che sia l'architettura a 64 bit giusta, visto che ne esistono due (Intel e AMD)?

lorenzo_ktm
12-05-2008, 20:28
Synaptic non mi trova nessun pacchetto build-essentials :eh:

lorenzo_ktm
12-05-2008, 20:31
ho compilato questo programma stupido che non utilizza librerie senza problemi..

int a,b;
main()
{a=5;
b=6;
a=a+b;
}

DanieleC88
12-05-2008, 20:36
Scusa, c'era una s di troppo:

http://packages.ubuntu.com/dapper/devel/build-essential

lorenzo_ktm
12-05-2008, 20:42
ho cercato sul pc un altra libreria stdio.h col comando find e ne ho trovata una da 30kb circa rispetto ai 5 di quella che avevo nella cartella include di gcc..
l'ho sostituita e adesso compila i programmi senza problemi
:muro: :muro: :muro: :muro: :muro: :muro: :muro: :muro: :muro:


scusate il disturbo. grazie per l'aiuto e per il sostegno morale

71104
13-05-2008, 10:05
ho cercato sul pc un altra libreria stdio.h col comando find e ne ho trovata una da 30kb circa rispetto ai 5 di quella che avevo nella cartella include di gcc..
l'ho sostituita e adesso compila i programmi senza problemi
:muro: :muro: :muro: :muro: :muro: :muro: :muro: :muro: :muro:


scusate il disturbo. grazie per l'aiuto e per il sostegno morale
chissà perché ho idea che come cercherai di usare un'altra libreria non compilerà più :asd:

non è così che si risolvono i problemi :)

DanieleC88
13-05-2008, 14:43
apt-get install build-essential

oro125
27-05-2008, 23:41
Io ho lo stesso problema... gcc non trova gli header ke sono correttamente sotto /usr/include

Come si può risolvere questo problema? Non riesco più a darmi pace...:cry:

lorenzo_ktm
28-05-2008, 18:51
Io ho lo stesso problema... gcc non trova gli header ke sono correttamente sotto /usr/include

Come si può risolvere questo problema? Non riesco più a darmi pace...:cry:

prova a copiare gli header che ti interessano da /usr/include alla cartella di gcc
/usr/lib/gcc/x86_64-linux-gnu/4.1/include