新創建的工程
#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