문제

I'm trying to create objects by using another c++ solution's files.

  • When I create a MyClass1 object program gives error of:

    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
    
  • When I create a MyClass2 object program creates the object. No error.

What should I do to create the MyClass1 object properly?


I cut all unnecessary parts in relevant source. The code is as follows.

tester file 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 file

#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 file

#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() {

};

올바른 솔루션이 없습니다

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top