klasse: undefinied reference.



  • Hallo, ich versuche nach längerer Zeit mich mal wieder mit Klassen zu beschäftigen. Ich habe aus dem internet ein Tutorial erstellt, doch ich bekomme bei meinem Computer nur einen Fehler: "undefinied reference"

    Ich stelle den Code mal online: (wie gesagt er stammt nicht von mir)

    die header Datei: cplanet.h

    class cplanet
          {
              protected:
            // Membervariablen
             long mGroesse;
             int mBebauteFelder;
             int mFreieFelder;
             int mMaximaltemperatur;
            int mGalaxie, mSonnensystem, mPosition;
            char m_chName[21];
            public:
          // Memberfunktionen
          cplanet();
          cplanet (int Gr, int Bf, int Ff, int Mt, int Ga, int Ss, int Po, char *n) :      
    
    mGroesse(Gr),mBebauteFelder(Bf),mFreieFelder(Ff),mMaximaltemperatur(Mt),mGalaxie(Ga),
          mSonnensystem(Ss), mPosition(Po)
          {strcpy(m_chName,n);};
          void mNameAendern ();
          void mAufgeben ();
          };
          class CHeimatplanet: public cplanet
           {
            public:
             CHeimatplanet() : cplanet(12800,0,163,40,2,220,10,"d")
             {};
            void output();
          };
    

    die Datei cplanet.cpp

    #include "cplanet.h"
    
          void CHeimatplanet::output()
    
          {
           cout << "Koordinaten: [" << mGalaxie << ":" << mSonnensystem << ":" << mPosition << "]\n";
          cout << "Groesse: " << mGroesse << " km" << endl;
          cout << "Felder: " << mBebauteFelder << "/" << mFreieFelder << endl;
          cout << "Max. Temperatur: " << mMaximaltemperatur << "°C\n\n";
    
          }
    

    und die Main methode:

    #include <iostream>
    #include <cstdlib>
    
    #include "cplanet.h"
    
    using namespace std;
    
             int main()
             {
                 CHeimatplanet x;
                 x.output();
              return 0;
             }
    

    ich nutze suse linux.
    die Meldung lautet: undefined reference to `CHeimatplanet::output()'



  • ist "cplanet.cpp" überhaupt dazugelinkt?



  • Ich weiss nciht,
    wie erstell ich den Link?
    Ich habe die Klassen dem Projekt automatisch hinzugefügt?!?

    schxxxx eclipse



  • wie kann ich eine cpp datei linken?

    -L /Pfad/cplanet.cpp

    funktioniert nicht 😞



  • wie wäre es wenn du einfach

    g++ main.cpp cplanet.cpp

    verwendest?



  • Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum Compiler- und IDE-Forum verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.


Anmelden zum Antworten