Précédent   Forum du club des développeurs et IT Pro > Environnements de développement > Eclipse > Eclipse C & C++
Eclipse C & C++ Forum d'entraide Eclipse pour C et C++
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 23/02/2009, 19h50   #1
mortaurat
Invité de passage
 
Inscription : février 2009
Messages : 3
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 3
Points : 0
Points : 0
Par défaut Erreur "undefined reference to main"

Bonjour,

Je suis étudiant en GEII, ce qui m'amène à programmer en C.
Afin de travailler ma programmation en langage C, je me suis acheté un petit Netbook avec Linux dessus.

J'ai décidé d'installer Eclipse, ce qui je pense était une erreur...
Lorsque j'essaye de compiler le programme le plus simple du monde:
Code :
1
2
3
4
5
6
7
#include <stdio.h>
#include <string.h>
 
void main ()
{
    printf ("eclipse c'est tabou, on en viendra tous à bout");
}
Il me sort l'erreur "undefined reference to main", alors j'ai cherché sur Google et notamment dans la FAQ et voilà ce que j'ai trouvé :
Citation:
Q:Eclipse me dis "undefined reference to" ou "cannot find -lMyLib" ou encore [insérez ici votre erreur de compilation ou de linkage]. Que dois faire?

R: Il faut réaliser qu'Eclipse ne fait qu'appeler gcc par l'intérmédiaire d'un makefile, et que si vous avez une erreur c'est que votre code n'est pas correct / ou que le nom des librairies dans vos réglages sont mauvais. L'IDE n'y est pour rien.

Une bonne chose à faire serait de commencer par un tutorial sur le c++, pour apprendre par exemple la différence entre compilation et linkage.

Ensuite, si vous utilisez un managed project, modifiez les propriétés de votre projet en conséquence, si vous utilisez un makefile project, modifiez votre makefile en conséquence.
Mais ça ne résout pas mon problème, que doi-je faire et modifier ?

Merci d'avance pour votre aide.
mortaurat est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/02/2009, 23h23   #2
mamelouk
Membre chevronné
 
Avatar de mamelouk
 
Inscription : mai 2005
Messages : 866
Détails du profil
Informations personnelles :
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : mai 2005
Messages : 866
Points : 733
Points : 733
Bonjour,

Peux-tu nous montrer l'erreur telle qu'elle est générée par le compilateur ?

T'es en mode managed project ou makefile project ?
__________________

Débugger du code est deux fois plus dur que d'en écrire.
Donc, si vous écrivez votre code aussi intelligemment que vous le pouvez, vous n'etes, par définition, pas assez intelligent pour le débugger.
mamelouk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/02/2009, 12h18   #3
mortaurat
Invité de passage
 
Inscription : février 2009
Messages : 3
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 3
Points : 0
Points : 0
Voici une copie d'écran:


Dans mon premier programme, j'ai réussi à régler le problème mais je ne sais absolument pas comment j'ai fais...
Alors j'ai crée un nouveau projet afin de retrouver l'erreur pour savoir comment la régler.

Comme tu peux le voir, il y a deux erreurs... dont une qui n'a pas lieu d'être (celle du ; ), j'ai du redémarrer Eclipse et recompiler pour l'enlever....

De plus, je ne vois pas pourquoi je suis obligé (dans mon premier programme) de mettre int main () ? Sous visual C++, lorsque mon main ne retournait pas de valeur c'était void main ()...

PS : Connaitrais-tu un bon éditeur de texte qui donne quelques couleurs au code sous Linpus ?
Images attachées
Type de fichier : png Capture.png (102,2 Ko, 22 affichages)
mortaurat est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/02/2009, 18h03   #4
mamelouk
Membre chevronné
 
Avatar de mamelouk
 
Inscription : mai 2005
Messages : 866
Détails du profil
Informations personnelles :
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : mai 2005
Messages : 866
Points : 733
Points : 733
Le fait que tu doives mettre int main à la place void main dépend du réglage de ton compilateur (respect des standard), pas d'Eclipse.

Je veux bien que tu sauvegardes tes fichiers avant que tu compiles et que tu m'envoies un screenshot.
__________________

Débugger du code est deux fois plus dur que d'en écrire.
Donc, si vous écrivez votre code aussi intelligemment que vous le pouvez, vous n'etes, par définition, pas assez intelligent pour le débugger.
mamelouk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/02/2009, 23h07   #5
mortaurat
Invité de passage
 
Inscription : février 2009
Messages : 3
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 3
Points : 0
Points : 0
Bon en fait, le problème semble se régler tout seul après avoir redémarré l'ordinateur...
A chaque fois que j'ai une erreur, je suis obligé de faire un reboot sinon il ne me la corrige pas.

Je crois que je vais changer de logiciel...

Merci de ton aide.
mortaurat est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/02/2009, 08h48   #6
mamelouk
Membre chevronné
 
Avatar de mamelouk
 
Inscription : mai 2005
Messages : 866
Détails du profil
Informations personnelles :
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : mai 2005
Messages : 866
Points : 733
Points : 733
Tu sais ce qu'on dit à propos des bugs...

De rien, et bonne chance avec ton nouveau logiciel.
__________________

Débugger du code est deux fois plus dur que d'en écrire.
Donc, si vous écrivez votre code aussi intelligemment que vous le pouvez, vous n'etes, par définition, pas assez intelligent pour le débugger.
mamelouk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/06/2012, 15h13   #7
megamario
Membre actif
 
Avatar de megamario
 
Homme
VB6/VB.net/C/C++/C#
Inscription : septembre 2008
Messages : 551
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 42
Localisation : France, Indre et Loire (Centre)

Informations professionnelles :
Activité : VB6/VB.net/C/C++/C#
Secteur : Industrie

Informations forums :
Inscription : septembre 2008
Messages : 551
Points : 176
Points : 176
Je sais que le post n'est pas tout jeune, mais ayant le même souci, je suis tombé dessus.

Et vu que j'ai trouvé, je pense, le pourquoi de la chose, je vous donne "ma" version:

En fait, lorsqu'on lance la compilation dans Eclipse, il compile uniquement ce qui est sauvegardé. N'ayant pas de message d'avertissement comme quoi il y a eu des modifications, si tu es au tout début de ton projet, tu compiles un fichier vide, donc il ne trouve pas de main.

Voila si cela peut aider quelqu'un. Il suffit donc de sauvegarder avant la compilation ou trouver une option qui fait ça pour nous dans les options de l'IDE.
megamario est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 23h33.


 
 
 
 
Partenaires

Hébergement Web