我的项目中有一个不受欢迎的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:错误:LNK2019:“”public:__ cdecl EList :: EList(类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
如果我将Compiler(Qt 5.1 MSVC 2012)更改为Microsoft(Microsoft Visual C ++编译器11.0),则所有文件都将编译...
答案 0 :(得分:0)
使用C ++代码,您通常无法混合匹配编译器。无论用什么C ++编译器构建Qt,您都应该使用它来构建应用程序。你基本上回答了自己的问题:)