Compiler du C sous Ubuntu (VirtualBox)

Résolu
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   -  
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   -
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...
A voir également:

8 réponses

fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
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
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
hello
essaye ./test
1
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
ou pour faire plus simple, regarde si stdio.h est présent sur ton disque (/usr/include en théorie)
0
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
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

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

Posez votre question
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
merci, ça marche... suffisait de le savoir !
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
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
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
parce que test est une commande du shell, il n'y a pas de message d'erreur
0
dwyane346 Messages postés 147 Date d'inscription   Statut Membre Dernière intervention   18
 
que fait la commande test ?
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
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