gcc: undefined reference to



  • Hallo,

    habe ein unerklärliches Problem, am besten ich poste mal alle Dateien...

    // core.h
    class TEST {
    public:
        TEST(int i);
    };
    
    // core.cpp
    #include <iostream>
    #include "core.h"
    
    TEST::TEST(int i) {
        std::cout << "TEST::TEST(" << i << ")" << std::endl;
    }
    
    // main.cpp
    #include "core.h"
    
    int main() {
        TEST t(3);
    }
    
    // Fehlermeldung:
    main.cpp|4|undefined reference to `TEST::TEST(int)'
    

    Was zum Teufel geht da schief?
    Unter MSVC klappts ohne Probleme...



  • Hast du vielleicht vergessen core.cpp zu linken? Mit welchem Befehl versuchst du zu linken?



  • Das habe ich alles zusammen in Code::Blocks geschrieben.
    Ich gehe davon aus dass die alle gelinkt werden, und das werden die auch wenn ich mir den Projektordner anschaue...

    Jetzt hab ich das noch schnell mit dem Terminal kompiliert und da klappt es komischerweise...
    Dann stimmt wohl irgendwas mit der Projekteinstellung in Code::Blocks nicht.



  • Inzwischen bin ich wieder einen Schritt weiter.
    Das Problem tritt nur dann auf, wenn ich als Projekttyp wxWidgets wähle.
    Wenn ich als Projekttyp ein leeres Projekt wähle, dann klappt es.

    P.S. @Mod: Jetzt gehört es glaube ich langsam in das Compiler-/IDE-Forum.


Anmelden zum Antworten