Compiler un fichier C sous linux

Résolu
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. Modérateur
    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
    1. Contributeur
      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
      1. Modérateur
        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. 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
      2. Contributeur
        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. je suis sous ubuntu
          comment je pourrais le faire sous ubuntu ?
          Merci
          0
      3. Contributeur
        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
        1. Modérateur
          Il faut installer les paquets de developpement gcc (genre gcc-dev libc-dev, ou nom approchant).

          Bonne chance
          0
          1. Bonjour,
            tu peut ouvrir ton gestionnaire de paquets sunaptic, dans la fenetre de paquet, tu choisis libc-dev, apres tu installe
            0
            1. je pense qu'en un an il a du le trouvé...
              0
          2. Modérateur
            :-)))))))))))))))
            0

            Discussions similaires

            question pix mot caché

            7 réponses