Question

J'essaie de créer des objets en utilisant les fichiers d'une autre solution C ++.

  • Quand je crée un MyClass1 Le programme d'objets donne une erreur de:

    1>main.obj : error LNK2019: unresolved external symbol "public: virtual __thiscall MyClass1::~MyClass1(void)" (??1MyClass1@@UAE@XZ) referenced in function _main
    1>main.obj : error LNK2019: unresolved external symbol "public: __thiscall MyClass1::MyClass1(class QWidget *,class QFlags<enum Qt::WindowType>)" (??0MyClass1@@QAE@PAVQWidget@@V?$QFlags@W4WindowType@Qt@@@@@Z) referenced in function _main
    
  • Quand je crée un MyClass2 Le programme d'objet crée l'objet. Pas d'erreur.

Que dois-je faire pour créer le MyClass1 objet correctement?


J'ai coupé toutes les parties inutiles dans une source pertinente. Le code est comme suit.

fichier de testeur main.cpp

#include "tester.h"
#include <QtGui/QApplication>

#include "myclasses.h"

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    tester w;
    w.show();

    MyClass1 aa;
    MyClass2 bbb;

    return a.exec();
}

myclasses.h dossier

#ifndef MYCLASSES_H
#define MYCLASSES_H

#include <QtGui/QMainWindow>
#include "ui_myclasses.h"

class MyClass1 : public QMainWindow
{
    Q_OBJECT
public:
    MyClass1(QWidget *parent = 0, Qt::WFlags flags = 0);
    ~MyClass1();

    void setthemall(int number);

private:
    Ui::MyClass1Class ui;
    int totalnumber;
};

class MyClass2 
{
    int param1;
    void getit ();
};


#endif 

myclasses.cpp dossier

#include "myclasses.h"

MyClass1::MyClass1(QWidget *parent, Qt::WFlags flags)
: QMainWindow(parent, flags)
{
    ui.setupUi(this);
}

MyClass1::~MyClass1()
{
}

void MyClass1::setthemall(int pnumber)
{
    totalnumber=pnumber;
}


void MyClass2::getit() {

};

Pas de solution correcte

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top