2

我的项目中有一个不受欢迎的 LNK2019 错误。也许有人可以帮助我?

这是我的头文件:

#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 错误消息:a.obj:-1: Error:LNK2019: ""public: __cdecl EList::EList(class QWidget *)" (??0EList@@QEAA@PEAVQWidget@@@Z)"在函数 ""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++ 代码,您通常不能混合搭配编译器。无论使用什么 C++ 编译器来构建 Qt,您都应该使用它来构建您的应用程序。你基本上已经回答了你自己的问题:)

于 2013-10-05T20:43:10.153 回答