Compiler du C sous Ubuntu (VirtualBox) [Résolu/Fermé]

Signaler
Messages postés
16075
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
26 octobre 2020
-
Messages postés
18231
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
25 octobre 2020
-
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...

8 réponses

Messages postés
11066
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
18 octobre 2016
1 707
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 60511 internautes nous ont dit merci ce mois-ci

Messages postés
18231
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
25 octobre 2020
5 043
hello
essaye ./test
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 60511 internautes nous ont dit merci ce mois-ci

Messages postés
9688
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
2 octobre 2020
1 199
ou pour faire plus simple, regarde si stdio.h est présent sur ton disque (/usr/include en théorie)
Messages postés
16075
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
26 octobre 2020
2 703
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[])
Messages postés
16075
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
26 octobre 2020
2 703
merci, ça marche... suffisait de le savoir !
Messages postés
11066
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
18 octobre 2016
1 707
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" ^^.
Messages postés
18231
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
25 octobre 2020
5 043
parce que test est une commande du shell, il n'y a pas de message d'erreur
Messages postés
147
Date d'inscription
dimanche 11 janvier 2009
Statut
Membre
Dernière intervention
6 septembre 2012
17
que fait la commande test ?
Messages postés
18231
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
25 octobre 2020
5 043
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