Linker LNK2019 fehler !?



  • Sorry, für meine anfängerprobleme bekomme hier nene linkerfehler, weiß aber nich warum:

    #include "mydelegate.h"
    
    MainWindow::MainWindow(QWidget *parent) :
        QMainWindow(parent),
        ui(new Ui::MainWindow)
    {
        ui->setupUi(this);
    
        _myDelegate = new MyDelegate(this); //<== Fehler!
    
    ...
    

    MyDelegateKlasse:

    #ifndef MYDELEGATE_H
    #define MYDELEGATE_H
    
    #include <QItemDelegate>
    #include <QModelIndex>
    #include <QObject>
    #include <QSize>
    #include <QSpinBox>
    #include <QMainWindow>
    
    class MyDelegate : public QItemDelegate
    {
        Q_OBJECT
    
    public:
    
        MyDelegate(QObject *parent = 0) : QItemDelegate(parent){}
    ....
    

    Fehler:

    mainwindow.obj👎 Fehler: LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""public: __thiscall MyDelegate::MyDelegate(class QObject *)" (??0MyDelegate@@QAE@PAVQObject@@@Z)" in Funktion ""public: __thiscall MainWindow::MainWindow(class QWidget *)" (??0MainWindow@@QAE@PAVQWidget@@@Z)".

    Wieso kann er hier den Konstruktor von MyDelegate nich auflösen!?!?



  • So einen Effekt habe ich schon mal bei Klassen mit Q_OBJECT-Makro gesehen, die declspec benutzten.
    Hier kann ich nichts verdächtiges sehen.



  • Shit, und ich dachte das wäre ein anfänger problem... ich verwende übrigens QtCreator mit VS compiler.. falls die info was hilft!



  • Was passiert denn, wenn es mit der MinGW-Version kompilierst? Vielleicht gibt es ja da Probleme, weil die Libs und dein Programm mit unterschiedlichen Compilern gebaut wurden. Ist aber nur so eine Idee, ich bin mit C++ und Qt noch recht am Anfang der Reise.



  • Hmm ok müsste ich mal ausprobieren...

    am liebesten würde ich Qt mit VS2010 coden, aber mit der Konfigurationbescrheibung komm ich ent klar :p bin da einfach uzu verwöhnt von C# .. c++ ist wie ein rießen uhrwerk mit kleine schräubchen.. welches ich noch kaum verstehe:)



  • Ja, C++ ist schon mächtig harter Tobak. Keine Sorge, ich bin auch noch am Anfang, aber jeder Fehler spornt mich eher noch mehr an, als dass er mich demotiviert. Am Ende der Reise kann man wirklich native Software für seinen Computer schreiben, ist doch toll.





  • Jo, so einfach könnte es natürlich auch sein.



  • Die Lösung:)

    I had a similar problem and it was solved using andref's feedback. Within QT Creator I simply:

    Build/Clean all
    Build/Run qmake
    Build/Run



  • Auch nicht schlecht, na auf jeden Fall Fehler behoben.


Log in to reply