+ Répondre à la discussion
Affichage des résultats 1 à 3 sur 3
  1. #1
    Invité de passage
    Inscrit en
    décembre 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : décembre 2009
    Messages : 11
    Points : 1
    Points
    1

    Par défaut Erreur: (.text+0x18): undefined reference to 'main'

    Bonsoir,

    Voulant créer un petit projet de test à l'aide de classes, je tombe sur l'erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (.text+0x18): undefined reference to `main'
    Je comprends bien ce qui lui pose problème mais je ne vois pas ce que je fais mal dans l'édition des liens à priori...

    Voici mes fichiers tout simples:

    Date.h
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    #ifndef __DATE_H__
    #define __DATE_H__
     
    #include <iostream>
     
    class Date {
     
    	public:
    		Date();
    };
     
    #endif
    Date.cc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    #include "Date.h"
    using namespace std;
     
    Date::Date() {
    	cout << "coucou" << endl;
     
    }
    main.cc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    #include <iostream>
    #include "Date.h"
    using namespace std;
     
    int main() {
     
    	return 0;
    }
    et le Makefile
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    test: main.o Date.o
    	g++ -o test Date.o main.o
     
    main.o: main.cc
    	g++ -o main.o main.cc
     
    Date.o: Date.cc Date.h
    	g++ -o Date.o Date.cc
    J'écume le net et les forums depuis le début d'après midi et rien à faire....

    Merci d'avance

  2. #2
    Rédacteur/Modérateur

    Avatar de 3DArchi
    Inscrit en
    juin 2008
    Messages
    7 636
    Détails du profil
    Informations forums :
    Inscription : juin 2008
    Messages : 7 636
    Points : 13 102
    Points
    13 102

    Par défaut

    Salut,
    Je ne suis pas un pro des makefile, mais de ce que je comprends, je me demande si cela ne devrait pas être :
    test: main.o Date.o
    g++ -o test Date.o main.o

    main.o: main.cc
    g++ -c main.cc

    Date.o: Date.cc Date.h
    g++ -c Date.cc

    [EDIT] gl propose un tutoriel Introduction à Makefile qui devrait grandement t'aider, j'ai l'impression.

  3. #3
    Invité de passage
    Inscrit en
    décembre 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : décembre 2009
    Messages : 11
    Points : 1
    Points
    1

    Par défaut

    Citation Envoyé par 3DArchi Voir le message
    Salut,
    Je ne suis pas un pro des makefile, mais de ce que je comprends, je me demande si cela ne devrait pas être :



    [EDIT] gl propose un tutoriel Introduction à Makefile qui devrait grandement t'aider, j'ai l'impression.
    Eh ben c'était donc ça....
    Pourtant j'ai bien suivi le tuto de Gl mais ce qui ne va pas à priori avec g++ (lui utilise gcc) c'est qu'on ne peut pas utiliser l'oprion -o pour nommer le fichier de sortie si on utilise l'option -c, ce que je faisais, et ce que lui fait dans son tuto avec gcc.

    Merki !

+ Répondre à la discussion
Cette discussion est résolue.