QT5 QT4--LNK2019 无法解析的外部符号

新创建的工程

#include <QtWidgets/QApplication>
#include <QtWidgets/QWidget>
#include <QtWidgets/QLabel>
#include <QtCore/QTextCodec> int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QTextCodec::setCodecForLocale(QTextCodec::codecForName("GBK"));
QWidget* pwidget = new QWidget();
QLabel label(pwidget);
label.setText(QString::fromLocal8Bit("同一个世界,同一个梦想!"));
pwidget->setMinimumSize(300,200);
pwidget->show(); return app.exec();
}

QT4区别QT5    QT4中头文件#include <QtGui/QApplication>到QT5改成#include <QtWidgets/QApplication>

上述程序编译后出现

1>------ 已启动生成: 项目: QTTest, 配置: Debug Win32 ------
1>main.obj : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: __thiscall QApplication::QApplication(int &,char * *,int)" (__imp_??0QApplication@@QAE@AAHPAPADH@Z),该符号在函数 _main 中被引用
1>main.obj : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: virtual __thiscall QApplication::~QApplication(void)" (__imp_??1QApplication@@UAE@XZ),该符号在函数 _main 中被引用
.........................................
1>main.obj : error LNK2001: 无法解析的外部符号 "protected: virtual void __thiscall QWidget::wheelEvent(class QWheelEvent *)" (?wheelEvent@QWidget@@MAEXPAVQWheelEvent@@@Z)
1>C:\Users\Administrator\Desktop\QTTest\Win32\Debug\\QTTest.exe : fatal error LNK1120: 53 个无法解析的外部命令
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========

两种解决方案:

1)在附加依赖项里面添加Qt5Widgetsd.lib

QT5   QT4--LNK2019 无法解析的外部符号

2)在源码中加入#pragma comment(lib,"Qt5Widgetsd.lib")     Qt5Widgetsd.lib这里为调试版本lib

上一篇:《C# 并发编程 · 经典实例》读书笔记


下一篇:Docker下载mysql镜像