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-2024 CODEPRJ.COM