Débuts en C sous linux

cs_hotlips Messages postés 20 Date d'inscription dimanche 2 janvier 2005 Statut Membre Dernière intervention 15 septembre 2006 - 25 mars 2006 à 13:42
cs_LordBob Messages postés 2865 Date d'inscription samedi 2 novembre 2002 Statut Membre Dernière intervention 11 mai 2009 - 26 mars 2006 à 15:03
Bonjour,
Je débute sous linux. J'étais plutôt habitué à Visual C++, mais je doit écrire une librairie en C sous Linux.
Pour démarrer je teste un bon vieux hello...
Mon fichier hello.c contient le code (pas surprenant):
#include <stdio>
int main() {
printf("Hello world\n");
return 0;
}

Pour compiler, dans le shell je tape la commande: gcc -o hello hello.c
J'obtiens : erreur: stdio.h : Aucun fichier ou répertoire de ce type
Je pensais qu'un compilateur comme gcc savait de lui même ou trouver les en-têtes standards... Que faire?


Merci pour le coup de main et bonne prog à tous.

8 réponses

mondrone Messages postés 246 Date d'inscription mercredi 5 janvier 2005 Statut Membre Dernière intervention 11 mars 2012
25 mars 2006 à 14:21
C'est zarb en effet. Normalement je pensais que cette librairie était livrée avec gcc ?????

Vérifie dans ton /usr/include si t uas bien les librairies souhaitées !



Sinon, effectivement gcc connait de lui-même l'emplacement des biblio
standards, et ce message voudrait dire que tu ne possède pas la biblio,
je pense.



De même les librairies se trouvent normalement dans /usr/lib, mais je
ne connais pas le nom des librairies necessaires a stdio qui ne m'as
jamais posé de pb !

<hr size="2" width="100%"> Qui ne tente rien...

Ne risque pas d'avoir grand chose !!!

<hr siz="">
0
cs_hotlips Messages postés 20 Date d'inscription dimanche 2 janvier 2005 Statut Membre Dernière intervention 15 septembre 2006
25 mars 2006 à 14:39
J'ai pourtant bien un fichier stdio.h dans usr/lib/bcc/include.
Comment faire reconnaître cet emplacement à gcc s'il ne le connaît pas? C'est zarb en effet...
0
Tekila48 Messages postés 15 Date d'inscription mardi 21 janvier 2003 Statut Membre Dernière intervention 26 mars 2006
25 mars 2006 à 14:41
essaie

#include "[chemin complet]"

(entre "" au lieu de <>)
0
cs_hotlips Messages postés 20 Date d'inscription dimanche 2 janvier 2005 Statut Membre Dernière intervention 15 septembre 2006
25 mars 2006 à 15:16
Ca déconne toujours même avec le chemin complet, je sais plus trop quoi faire ... :-(
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Matt67 Messages postés 549 Date d'inscription samedi 6 septembre 2003 Statut Membre Dernière intervention 6 mars 2010 3
25 mars 2006 à 21:58
bonsoir,

Pour ma part, stdio.h est dans /usr/include.
si tu veux preciser a gcc ou se situe tes fichiers inclusions il faut que tu fasses un truc du genre
gcc -o hello -I/usr/lib/bcc/include hello.c

Matt...
0
cs_LordBob Messages postés 2865 Date d'inscription samedi 2 novembre 2002 Statut Membre Dernière intervention 11 mai 2009 9
26 mars 2006 à 01:29
regarde le code que tu as mis:



#include <stdio>
int main() {
printf("Hello world\n");
return 0;
}



je ne sais pas si tu as fais une erreur de copier/coller, mais ca serait plus ce code qu'il faut mettre:




#include <stdio.h>
int main() {
printf("Hello world\n");
return 0;
}


Bob...
"La chance accorde ses faveur aux esprits avertis..."
0
mondrone Messages postés 246 Date d'inscription mercredi 5 janvier 2005 Statut Membre Dernière intervention 11 mars 2012
26 mars 2006 à 14:59
LordBob> En fait je crois que gcc reconnait automatiquement qu'il s'agit d'un ".h"
La preuve, dans son premier post, le compilateur lui dit bien "stdio.h introuvable"
De même j'ai déjà eu la surprise de lire des codes avec par exemple "#include" qui se compilaient sans problème.
0
cs_LordBob Messages postés 2865 Date d'inscription samedi 2 novembre 2002 Statut Membre Dernière intervention 11 mai 2009 9
26 mars 2006 à 15:03
oui pour iostream, je confirme. mais je viens de faire le test de son programme avec mon gcc, avec et sans le .h. dans le premier cas il compile, dans le second non!
Bob...
"La chance accorde ses faveur aux esprits avertis..."
0
Rejoignez-nous