自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

解析 QT 4.5.1編譯

移動(dòng)開(kāi)發(fā)
本篇文章介紹了QT 4.5.1編譯的步驟。在壇上逛了之后,發(fā)現(xiàn)qt線(xiàn)程很不錯(cuò),它提供了豐盛的多線(xiàn)程編程支撐:結(jié)構(gòu)了一些基礎(chǔ)的與平臺(tái)無(wú)閉的線(xiàn)程等。先看看本文吧。

QT 4.5.1編譯從 http://www.qtcentre.org/ 下載QT源代碼,注意是源代碼。我下載到的是QT4.5.1版,文件名為qt-win-opensource-src-4.5.1.zip。

解壓,注意不要解壓路徑不要含有空格或中文,我把它解壓到了d:\qt451里

準(zhǔn)備一個(gè)存放編譯后“成品”的文件夾,我準(zhǔn)備放在d:\qt451\static里

QT源碼里的“mkspecs” 文件夾復(fù)制到準(zhǔn)備存放“成品”的地方,比如我的就是把d:\qt451\qt-win-opensource-src-4.5.1\mkspecs復(fù)制到d:\qt451\static里

用記事本或其它編輯器打開(kāi)D:\qt451\static\mkspecs\win32-msvc2005\qmake.conf(注 意VC版本號(hào)),按需要修改:

如果不希望編譯出來(lái)的DLL或EXE鏈接到VC運(yùn)行時(shí)庫(kù),就把-MD改成-MT,把-MDd改成-MTd(查找替換)。

如 果做了上一步,那么就不需要嵌入manifest了,去掉CONFIG+= 后面的embed_manifest_dll embed_manifest_exe。

VC默認(rèn)是“將wchar_t 視為內(nèi)置類(lèi)型”的,所以建議去掉-Zc:wchar_t-, 否則以后用到一些與wchar_t有關(guān)的函數(shù)(如fromWCharArray)時(shí),就要在項(xiàng)目屬性里設(shè)置“將wchar_t視為內(nèi)置類(lèi)型”為No了)。

進(jìn)入“Visual Studio 2005 命令提示”,其它版本的VC也一樣。

進(jìn)入解壓的地方,比如我的: cd d:\qt451\qt-win-opensource-src-4.5.1。(小提示,在控制臺(tái)里輸入前幾個(gè)字符再按tab 鍵,可以自動(dòng)填充路徑、文件名,MS在向Linux Shell學(xué)習(xí)?)

鍵入命令

  1. configure -prefix d:\qt451\static -debug-and-release -static   
  2. -opensource -no-qt3support -no-dbus -no-phonon -no-webkit  
  3.  -qt-gif -qt-zlib -qt-libpng -qt-libmng -qt-libtiff -qt-libjpeg  

輸入configure -help可以顯示所有選項(xiàng)的幫助信息,上面是我用的選項(xiàng),解釋一下:

-prefix 路徑名 編譯后的安裝路徑

-debug-and-release 編譯Debug和Release版本

-static 編譯靜態(tài)庫(kù),如果不指定,默認(rèn)為編譯成DLL

-opensource 使用LGPL協(xié)議,如果不指定也行,configure運(yùn)行后會(huì)問(wèn)的

-no-qt3support 不用編譯與QT3兼容的一些廢棄函數(shù),如果你比較熟悉QT3,還是去掉它吧

-no-dbus 不用鏈接到DBus庫(kù),這個(gè)庫(kù)偶好像在Linux里看到過(guò),Windows里不用。

-no-phonon 同上,不要鏈接

-no-webkit 是否編譯Web相關(guān)的一些QT子庫(kù),加上這個(gè)可以省不少編譯時(shí)間,就看你是否準(zhǔn)備用這些庫(kù)了。

-qt-gif 使用QT自帶的gif庫(kù)

-qt-zlib 使用QT自帶的zlib庫(kù)

-qt-libpng 使用QT自帶的libpng庫(kù)

-qt-libmng 使用QT自帶的libmng庫(kù)

-qt-libtiff 使用QT自帶的libtiff庫(kù)

-qt-libjpeg 使用QT自帶的libjpeg庫(kù)

configure可能要花幾分鐘時(shí)間,成功后再輸入nmake開(kāi) 始編譯,編譯會(huì)花去大概1小時(shí)(和配置有關(guān)啦,我是以我的老爺機(jī)為參考的)。

輸入nmake install

如果沒(méi)出錯(cuò)的話(huà),“QT成品”就已經(jīng)在我們之前建立的成品路徑里了(我的是d:\qt451\static)

VC只需要成品路徑里的東東就夠了,如果你想,可以刪除解壓的那些源代碼省點(diǎn)空間。

測(cè)試是否成功

1、打開(kāi)VC

2、新建項(xiàng)目

3、設(shè)置項(xiàng)目屬性

4、配置屬性->C/C++->常規(guī)->附加包含目錄:D:\qt451\ static\include

5、配置屬性->C/C++->代碼生成->運(yùn)行時(shí)庫(kù):多線(xiàn)程調(diào)試(/MTd),這 條依據(jù)你當(dāng)時(shí)修改qmake.conf的情況決定

6、配置屬性->鏈接器->常規(guī)->附加庫(kù)目錄:d:\qt451\static\ lib

7、配置屬性->鏈接器->輸入->附加依賴(lài)項(xiàng):qtmaind.lib QtCored4.lib QtGuid4.lib,如果要編譯Release,把后面的d去掉。

代碼:

  1. #include <Qt/QtGui> 
  2. int APIENTRY _tWinMain(HINSTANCE hInstance,  
  3.                      HINSTANCE hPrevInstance,  
  4.                      LPTSTR    lpCmdLine,  
  5.                      int       nCmdShow)  
  6. {  
  7.  QApplication app(__argc, __argv);  
  8.  QLabel *label = new QLabel("Hello Qt!");  
  9.  label->show();  
  10.  return app.exec();  

注:如果編譯的是動(dòng)態(tài)庫(kù),那么要把QT成品里的bin目錄加入path系統(tǒng)變量,或者把這里用到的DLL復(fù)制到與你的程序相同的目錄里,一般是 QtCore4.dll和QtGui4.dll(Debug版為QtCored4.dll和QtGuid4.dll),依你使用的子庫(kù)而定。

【編輯推薦】

解析 QT 靜態(tài)庫(kù)和動(dòng)態(tài)庫(kù)

 深度解析 QT 編譯安裝方法

深度解析嵌入式QT開(kāi)發(fā)環(huán)境搭建

Qt和KDE在未來(lái)將面臨新的挑戰(zhàn)和機(jī)遇

Linux下應(yīng)用程序開(kāi)發(fā)之QT的信號(hào)與槽機(jī)制

責(zé)任編輯:zhaolei 來(lái)源: 互聯(lián)網(wǎng)
相關(guān)推薦

2011-06-08 15:27:24

QT QT 4.5 編譯

2011-06-09 14:56:53

QT 編譯

2011-06-14 13:59:09

Qt Qt 4.7.3 MYsql

2011-06-28 13:47:37

Embedded QT ARM

2011-06-17 09:19:03

Qt 4.5.1 Sqlite 移植

2011-07-05 14:06:17

編譯 Qt

2011-06-17 09:34:02

Qt 4.5.1 Sqlite 移植

2011-06-21 16:51:21

Qt 靜態(tài) 編譯

2011-06-09 16:47:56

Qt 嵌入式

2011-06-24 13:38:32

QT 編譯 安裝

2011-07-01 15:04:49

Qt 內(nèi)省

2011-09-09 17:59:26

QT Widget

2011-06-23 15:32:05

Qt Windows消息

2011-06-29 10:30:04

VC2005 QT QT 4.4.3

2011-06-27 09:15:21

QT Creator

2011-07-01 14:39:08

Qt Quick

2011-06-14 14:22:01

Qt ucdmc Creator

2011-06-21 16:40:58

Qt 靜態(tài)編譯

2011-06-23 18:04:42

Qt Embedded

2011-06-23 18:16:59

Qt Qtopia
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)