Compiler du C sous Ubuntu (VirtualBox)

Résolu
Bonjour,

Je viens de suivre un tutoriel pour émuler Ubuntu sous VirtualBox.
A priori l'installation a bien marché, mais quand je commence à faire quelques test en C, je bloque, apparemment j'ai des problèmes avec mes include mais comment récupérer les librairies qui me manque (Linux et moi ça fait 2)?

Voici ce que j'ai fait (dans un fichier test.c)
#include <stdio.h>
#include <stdlib.h>

int main(void)
{
printf("bonjour");
system("PAUSE");
return EXIT_SUCCESS;
}
Puis dans le terminal :
$ gcc test.c -o test
test.c:1:19: error: stdio.h: Aucun fichier ou répertoire de ce type
test.c:2:20: error: stdlib.h: Aucun fichier ou répertoire de ce type
test.c: In function ‘main’:
test.c:6: warning: incompatible implicit declaration of built-in function ‘printf’
test.c:8: error: ‘EXIT_SUCCESS’ undeclared (first use in this function)
test.c:8: error: (Each undeclared identifier is reported only once
test.c:8: error: for each function it appears in.)
Merci de m'aider, je n'arrive déjà pas encore à faire un simple "bonjour", mais je ne voudrais pas bloquer là-dessus alors qu'après il faut que je manipule les sockets, les forks, et autres librairies pour rendre mon projet de réseaux...
--
La confiance n'exclut pas le contrôle
Configuration: Ubuntu 6.10
VirtualBox 2.1.4

8 réponses

  1. Contributeur
    Salut,
    As-tu installé build-essential ?
    Si tel n'est pas le cas, ouvre une console et tape :
    sudo aptitude install build-essential

    Sinon pas besoin de : system("PAUSE"); ;-)).
    1
    1. Contributeur
      hello
      essaye ./test
      1
      1. Contributeur
        ou pour faire plus simple, regarde si stdio.h est présent sur ton disque (/usr/include en théorie)
        0
        1. Modérateur
          Merci, effectivement stdio.h n'était pas dans mes include, et la commande de fiddy me permet de les avoir
          Cependant, je n'arrive pas à afficher "bonjour" quand je lance test :
          $ test

          (J'ai vérifié mes droits sur ce fichier et j'ai -rwxr-xr-x ce qui doit être pas trop mal)

          Auriez vous une idée ?
          ps. j'ai enlevé le system("PAUSE"); et remplacer mon main(void) par main(int argc, char*argv[])
          0
          1. Modérateur
            merci, ça marche... suffisait de le savoir !
            0
            1. Contributeur
              Pas de chance en plus car test est une commande bash. Si t'avais mis un autre nom, bash t'aurait prévenu par un joli "command not found" ^^.
              0
          2. Contributeur
            parce que test est une commande du shell, il n'y a pas de message d'erreur
            0
            1. que fait la commande test ?
              0
              1. Contributeur
                Nom
                test - Vérifier le type d'un fichier, et comparer des valeurs.
                Synopsis
                test [expr]
                test {--help,--version}

                http://www.linux-kheops.com/doc/man/manfr/man-html-0.9/man1/test.1.html
                0