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


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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM