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
    :-)))))))))))))))
    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
      Il faut installer les paquets de developpement gcc (genre gcc-dev libc-dev, ou nom approchant).

      Bonne chance
      0
      1. 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. 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
        2. 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
        3. 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
            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

            Discussions similaires

            question pix mot caché

            7 réponses