2

私のプロジェクトには、この人気のない LNK2019 エラーの 1 つがあります。おそらく誰かが私を助けることができますか?

それが私のヘッダーファイルです:

#ifndef ELIST_H
#define ELIST_H

#include <QTableWidget>

class EList : public QTableWidget{
    Q_OBJECT
public:
    explicit EList(QWidget *parent = 0){}
    ~EList(){}
};

#endif // ELIST_H

これは別の cpp ファイルで、メソッド do() で EList のオブジェクトを作成します。

#include "elist.h"
#include "a.h"

void A::do(){
    EList* el = new EList;
}

しかし、次の LNK2019 エラー メッセージが表示されます。関数 ""public: __cdecl A::A(class QWidget *)" (??0A@@QEAA@PEAVQWidget@@@Z)".

私は何を間違えましたか、または私は何をしなければなりませんか? 想像できるすべてのファイル/クラスを挿入しましたが、効果はありませんでした。


編集:ここで私のプロファイルを見ることができます:

QT       += core gui

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = A
TEMPLATE = app


SOURCES += main.cpp\
        a.cpp \
    elist.cpp

HEADERS  += a.h \
    elist.h

FORMS    += a.ui

RESOURCES += \
    ListViewIcon.qrc

Compiler (Qt 5.1 MSVC 2012) を Microsoft (Microsoft Visual C++ Compiler 11.0) に変更すると、すべてのファイルがコンパイルされます...

4

1 に答える 1

0

C++ コードでは、通常、コンパイラを混在させることはできません。Qt のビルドに使用された C++ コンパイラは、アプリケーションのビルドに使用する必要があります。あなたは基本的にあなた自身の質問に答えました:)

于 2013-10-05T20:43:10.153 に答える