我的项目中有一个这种不受欢迎的 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)"in function ""public: __cdecl A: :A(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
如果我将编译器 (Qt 5.1 MSVC 2012) 更改为 Microsoft (Microsoft Visual C++ Compiler 11.0),所有文件都将编译...
最佳答案
对于 C++ 代码,您通常无法混合搭配编译器。无论您使用什么 C++ 编译器来构建 Qt,您都应该使用它来构建您的应用程序。你基本上已经回答了你自己的问题:)
关于C++/Qt : Just a LNK2019 and I don't know why,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18944396/