Compiler un fichier C sous linux

Résolu
Utilisateur anonyme -  
mamiemando Messages postés 33228 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»
Configuration: Linux
Firefox 1.5.0.8

8 réponses

  1. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 944
     
    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
  2. Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 331
     
    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
  3. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 944
     
    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
    1. 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
  4. Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 331
     
    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
    1. Utilisateur anonyme
       
      je suis sous ubuntu
      comment je pourrais le faire sous ubuntu ?
      Merci
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 331
     
    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
  7. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 944
     
    Il faut installer les paquets de developpement gcc (genre gcc-dev libc-dev, ou nom approchant).

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