Fehler beim Übersetzen eines in C++ geschriebenen Programms mit Kdevelop



  • Hallo,

    ich spiele zur Zeit mit Kdevelop (Version 3.9.95 unter Ubuntu 9.10) herum und versuche ein Beispielprogramm aus meiner Informatik Vorlesung zu compilieren.

    Dabei erhalte ich immer folgende Fehlermeldung:

    CMakeFiles/softbal3.cpp.dir/main.cpp.o: In function `main':
    main.cpp:(.text+0x60): undefined reference to `softball::softball(char*, char*, unsigned int, unsigned int, unsigned int)'
    main.cpp:(.text+0x6c): undefined reference to `softball::zeige_stat()'
    main.cpp:(.text+0x7d): undefined reference to `softball::~softball()'
    main.cpp:(.text+0xa1): undefined reference to `softball::~softball()'
    collect2: ld returned 1 exit status
    make[2]: *** [softbal3.cpp] Fehler 1
    make[1]: *** [CMakeFiles/softbal3.cpp.dir/all] Fehler 2
    make: *** [all] Fehler 2
    

    Im Internet suche ich bereits seit Tagen nach einer Lösung und wende mich daher an euch.

    Welche Einstellung in Kdevelop muss ich ändern damit das Programm übersetzt erden kann?

    Bei erstellen des Programms bin ich wie folgt vorgegangen:

    1.) neues Projekt erstellt (C++ --> No GUI (CMake))

    2.) die main.c geschreiben

    3.) die softbal3.h und softbal3.cpp mit "code -> create new class" erstellt

    Zur Hilfe kann ich euch gerne das komplette Kdevelop-Projekt als ZIP senden (206k als ZIP).

    Danke für die Hilfe!

    PS: Ich gehe davon aus, dass es nur an einer Einstellung liegt, das sich das Projekt in der Konsole mit g++ compilieren lässt.

    g++ -o meinprogramm softbal3.cpp main.cpp



  • undefined reference heißt, dass der Linker die Implementierung nicht finden kann. Hast du alle benötigten Libraries und Codedateien dem Projekt hinzugefügt?



  • Hallo rüdiger,

    in kdevelop habe ich zwei Möglichkeiten um eine neu Header-Datei anzulegen ausprobiert.

    1.) es gibt im Menü den Eintag "Code --> create new class", dort öffnet sich ein neues Fenster in dem man verschiedene Parameter einstellt und den Namen der Klasse eingibt. Anschließend werden die Dateien (.h und .cpp automatisch erstellt)

    2.) über den Button "neu" (zwei neue Dateien angelegt .h und .cpp)

    in beiden Fällen bekomme ich die gleiche Fehlerausgabe.
    Ich gehe davon aus, dass an einer Einstellung von CMake liegt, bzw. ich die Dateien den Projekt irgendwie bekanntgeben muss. Die Frage ist wie?


Anmelden zum Antworten