codblocks vs. g++



  • Wenn ich den unten angeführten Code mit gcc compiler von CodeBlocks übersetzte schreibt er die Meldung:

    Compiling: main.cpp
    Linking console executable: bin/Debug/vererbung
    /usr/bin/ld: skipping incompatible /usr/lib/libm.so when searching for -lm
    /usr/bin/ld: skipping incompatible /usr/lib/libm.a when searching for -lm
    /usr/bin/ld: skipping incompatible /usr/lib/libc.so when searching for -lc
    /usr/bin/ld: skipping incompatible /usr/lib/libc.a when searching for -lc
    obj/Debug/main.o: In function main': /xxx/xxx/main.cpp:7: undefined reference toMensch::Mensch()'
    collect2: ld gab 1 als Ende-Status zurück
    Process terminated with status 1 (0 minutes, 0 seconds)
    1 errors, 0 warnings

    Mit dem g++ und qmake funktionert es ohne Probleme.

    Weiß von euch jemand woran der Fehler liegt?

    lg
    michi

    // mensch.h
    #include <iostream>
    using namespace std;
    
    class Mensch
    {
    public:
    	Mensch();
    private:
        int name;
        int alter;
    
    };
    
    // mensch.cpp
    #include <iostream>
    using namespace std;
    #include "mensch.h"
    
    Mensch::Mensch() {
    cout << "Mensch wird erstellt" << endl;
    }
    
    // main.cpp
    #include <iostream>
    using namespace std;
    #include "mensch.h"
    
    int main()
    {
    	Mensch m1;
    	return 0;
    }
    


  • 1. in Header-Dateien werden keine Namespaces geöffnet :o

    2. Hassu auch alle Dateiem im Projekt?



  • danke.
    die dateien waren nicht richtig im projekt. nachdem ich das projekt neu erstellt hatte, hats auf anhieb funktioniert.


Anmelden zum Antworten