C++/Qt : Just a LNK2019 and I don't know why

标签 c++ qt lnk2019

我的项目中有一个这种不受欢迎的 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/

相关文章:

c++ - 更改 QTableView 中列的顺序

c++ - 错误 LNK2005 - 我在这里做错了什么?

windows-8 - Visual Studio 2012 : Unresolved external symbol _BluetoothFindFirstRadio

c++ - 在 Visual C++ 中将 win32 .lib 与 x64 项目一起使用

c++ - 关于函数 strcpy_s

c++ - 如何将一个字符串转换为一长串或另一串 ascii 值?

c++ - 我们能否使用位操作来确定 0 在数组中是否出现奇数次

c++ - 在 mac osx(不是 dylib)上构建真正的 .so/MH_BUNDLE 共享库的 g++ 标志是什么?

c++ - QT 连接到按钮不起作用

java - 在 Java 中通过套接字发送数据并在 C++ 中使用 QT 套接字接收数据