0

別の C++ ソリューションのファイルを使用してオブジェクトを作成しようとしています。

  • MyClass1オブジェクトプログラムを作成すると、次のエラーが発生します。

    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
    
  • オブジェクトを作成すると、MyClass2プログラムがオブジェクトを作成します。エラーなし。

MyClass1オブジェクトを適切に作成するにはどうすればよいですか?


関連ソースの不要な部分はすべてカットしました。コードは次のとおりです。

テスターファイル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ファイル

#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ファイル

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

};

4

1 に答える 1

2

myclasses.o ファイルが見つからないようです。myclasses.o をコンパイルしてリンクしていますか?

これはQtなので、このソースファイルをプロジェクトに追加した後、「qmake -project」を実行しましたか?

于 2011-02-06T13:49:44.473 に答える