URL: https://linuxfr.org/forums/programmation-c/posts/probl%C3%A8me-compilation-undefined-reference-to-main Title: Problème compilation: undefined reference to `main' Authors: fog Date: 2005年12月12日T16:10:58+01:00 Tags: Score: 0 J'ai un problème de compilation avec g++ (aussi gcc). Mon programme est divisé en plusieurs fichiers et chaque fichier contient une classe. J'aimerais pour chaque classe créer un fichier objet .o et puis assembler le tout avec le main. Exemple: Fichier Point2D.cpp: `#include <stdio.h> #include "Point2D.h" Point2D::Point2D() { } Point2D::Point2D(double xval, double yval) { x=xval; y=yval; } void Point2D::toString() { printf("Point2D(%f, %f)", x, y); }` J'essaie de le compiler comme ceci: `$ g++ -ggdb -D_GNU_SOURCE -Wall -lgd -lpng -lz -ljpeg -lfreetype -lm -o Point2D.o Point2D.cpp /usr/lib/gcc/i386-redhat-linux/4.0.2/../../../crt1.o(.text+0x18): In function `_start': : undefined reference to `main' collect2: ld a retourné 1 code d'état d'exécution make: *** [Point2D] Erreur 1` Par contre si je compile tous les fichiers en une seule passe ça marche: `$ g++ -ggdb -D_GNU_SOURCE -Wall -lgd -lpng -lz -ljpeg -lfreetype -lm -o contour Point2D.cpp DoubleArray2D.cpp Contour.cpp main.cpp $ ` J'aimerais éviter d'avoir à recompiler tous les fichiers sources si je n'en modifie qu'un seul. Comment dois-je m'y prendre? Merci d'avance. J'en profite pour poser une autre question: existe-t-il un équivalent à Javadoc pour le C++ ? Quelles sont les solutions disponibles?