Erreur LNK2019 lors de la création d'un objet dans une autre solution C ++
-
29-10-2019 - |
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