Compiler un fichier C sous linux

Résolu
Utilisateur anonyme -  
mamiemando Messages postés 34209 Date d'inscription   Statut Modérateur Dernière intervention   -
bonjour,
j'arrive pas à compiler un fichier C sous ubuntu, pourtant c'est un programme de base (hello word),

voila le fichier C
#include <stdio.h>
main()
/* Notre premier programme en C */
{
printf("hello, world\n");
return 0;
}

voila le message affiché par le compilateur:(mon fichier C s'appelle annuaire.c)

annuaire.c:1:19: erreur: stdio.h : Aucun fichier ou répertoire de ce type
annuaire.c: Dans la fonction «main» :
annuaire.c:5: attention : incompatible implicit declaration of built-in function «printf»
A voir également:

8 réponses

mamiemando Messages postés 34209 Date d'inscription   Statut Modérateur Dernière intervention   7 896
 
Alors d'abord une petite correction
#include <stdio.h>

/* Notre premier programme en C */
int main(){
  printf("hello, world\n");
  return 0;
} 

Ensuite il faut t'assurer que tu as installer les paquets de développements pour le c, à savoir une libc-dev et un gcc. Ensuite :
gcc -W -Wall -o monexecutable monfichier.c

Manifestement tu n'as pas de fichier stdio.h ce qui laisse supposé que tu n'as pas installé de libc.

Bonne chance
0
Char Snipeur Messages postés 10112 Statut Contributeur 1 299
 
Salut.
En effet, le compilateur ne trouve pas le fichier d'en tête que tu inclu : stdio.h
étant donné que c'est vraiment le fichier de base, je pense qu'il doit être quelque part.
Donc, pour résoudre ton problème, recherche ce fichier.
Une foi que tu as trouver où il est, tu rajoute le chemin au compilateur par l'option -I :exe:
gcc -o monexecutable monfichier.c -I/usr/include
si stdio.h est dans un /usr/include, ou un répertoire stadard de ce genre, il est possible que le compilateur soit mal configurer.
0
mamiemando Messages postés 34209 Date d'inscription   Statut Modérateur Dernière intervention   7 896
 
Ah j'ai peut être une idée. Peux tu faire en root un :
updatedb
locate stdio.h

Donne nous le résultat, puis dans une console utilisateur tape :
echo $LD_LIBRARY_PATH

et donne nous également le résultat.

Bonne chance
0
Utilisateur anonyme
 
bon pour la première commande :
updatedb
locate stdio.h
le resultat est le suivant :
/usr/lib/perl/5.8.7/CORE/nstdio.h

donc d'après ce que j'ai compris , j'ai pas le stdio.h chez moi,
la deuxième commande ne donne rien !!
0
Char Snipeur Messages postés 10112 Statut Contributeur 1 299
 
tu as quoi comme distrib de Linux?
le mieux, c'est d'aller dans l'installateur de package, et de lui demander de mettre les bib C.
0
Utilisateur anonyme
 
je suis sous ubuntu
comment je pourrais le faire sous ubuntu ?
Merci
0

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

Posez votre question
Char Snipeur Messages postés 10112 Statut Contributeur 1 299
 
Salut.
Je ne connait pas ubuntu comme distrib (d'ailleur, il vaut mieux le préciser à chaque fois que tu fait un message, en plus de Linux) mais tu peux faire des recherches sur le forum ou sur google sur "comment installer un nouveau package?"
j'en sais pas plus desoler.
0
mamiemando Messages postés 34209 Date d'inscription   Statut Modérateur Dernière intervention   7 896
 
Il faut installer les paquets de developpement gcc (genre gcc-dev libc-dev, ou nom approchant).

Bonne chance
0
dugang
 
Bonjour,
tu peut ouvrir ton gestionnaire de paquets sunaptic, dans la fenetre de paquet, tu choisis libc-dev, apres tu installe
0
mype Messages postés 2449 Statut Membre 437
 
je pense qu'en un an il a du le trouvé...
0
mamiemando Messages postés 34209 Date d'inscription   Statut Modérateur Dernière intervention   7 896
 
:-)))))))))))))))
0