天天看點

QT+VS2008 完整平台搭建

為了學QT,花了近三小時解決了整個平台搭建的問題。。。以下為詳細内容~

    1.需要下載下傳的:

      (1)VS2008.這是用的版本。雖然已經13年了,VS也有了WIN8版的,但是還是喜歡08。整個平台都是面向08搭建的,10的話其實一個也差不多。

      (2)Qt libraries 4.8.4 for Windows (VS 2008, 233 MB)以及Visual Studio Add-in 1.1.11 for Qt4

             如果你無法通路外網的話,可以試試以下連結,我上傳到百度雲盤的:

             http://pan.baidu.com/share/link?shareid=354218&uk=2804348991

             http://pan.baidu.com/share/link?shareid=354211&uk=2804348991

             如果你還下不了。。。去網吧或者用朋友的電信吧。

    2.下載下傳完了之後,安裝吧。08的安裝我就不說了。兩個QT檔案的安裝都是傻瓜式的。安裝路徑最好還是選全英文的吧,雖然我沒測試過。

    3.現在就可以建立QT工程了。

      打開VS2008,檔案->建立->項目,如下圖。

QT+VS2008 完整平台搭建

      點選确定,然後一路點下去就OK啦。Ctrl+F5編譯,大家都會的。

    4.真正的麻煩

       很多QT的書上可不是這麼建立工程的。。。如果直接給你一個CPP檔案,你怎麼編譯執行呢?

       下面,我們來建立一個純CPP的QT工程。

       打開VS2008,檔案->建立->項目,Visual C++,WIN32控制台應用程式,記得點選“空項目”。建好之後,輸入以下測試代碼:

QT+VS2008 完整平台搭建
#include <QtGui/QApplication>
#include <QtGui/QWidget>
#include <QtGui/QLabel>
#include <QtGui/QApplication>
#include <QtCore/QTextCodec>

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    QLabel *label = new QLabel("Hello Qt!");
    label->show();
    return app.exec();
}      
QT+VS2008 完整平台搭建

      編譯。肯定報錯。找不到啥啥啥檔案。因為項目裡沒有包含QT的include和lib路徑,是以找不到。做如下設定:

      工具->選項->項目和解決方案->VC++目錄,如下圖

QT+VS2008 完整平台搭建

      在包含檔案的選擇框下添加QT include檔案夾路徑。我安裝在D盤,是以填的是這個。

      同樣,庫檔案那邊也要修改,如下圖:

QT+VS2008 完整平台搭建

      至此,include和lib已經設定好了,再次編譯。。。還是報錯。。。

      解決方案:ALT+F7,即項目屬性,如下圖:

QT+VS2008 完整平台搭建

      依照圖中位置加入QtCore4.lib QtGui4.lib即可,點選确定。編譯執行,成功~如下圖

QT+VS2008 完整平台搭建

      嗯,的确成功運作了。但是控制台的黑框框還在,還是很不爽。如下建立工程:

      建立WIN32空項目,和上面一樣在項目屬性裡加入QtCore4.lib和QtGui4.lib,輸入如下代碼:

QT+VS2008 完整平台搭建
#include<windows.h>
#include <QtGui/QApplication>
#include <QtGui/QWidget>
#include <QtGui/QLabel>
#include <QtGui/QApplication>
#include <QtCore/QTextCodec>

int WINAPI WinMain (HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nShowCmd)
{
    int argc=0;
    char **argv=0;
    QApplication app(argc, argv);
    QLabel *label = new QLabel("Hello Qt!");
    label->show();
    return app.exec();
}      
QT+VS2008 完整平台搭建

      終于可以跑了。。。至此,問題解決

      如果覺得更改項目屬性比較麻煩的話,也可以在代碼中直接加入:

#pragma comment(lib,"QtCore4.lib")
#pragma comment(lib,"QtGui4.lib")      

      同樣可以解決問題。

    5.編譯程式的執行:

      QT安裝包裡用很多example,也有很多編譯好的exe檔案。執行的話一般都會彈出缺少XXX.dll。可以将安裝包裡bin檔案夾下所有dll檔案copy到系統盤C:\Windows\System32檔案夾下。下次執行就OK了。

繼續閱讀