成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

解析 QT 4.5.1編譯

移動開發
本篇文章介紹了QT 4.5.1編譯的步驟。在壇上逛了之后,發現qt線程很不錯,它提供了豐盛的多線程編程支撐:結構了一些基礎的與平臺無閉的線程等。先看看本文吧。

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

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

準備一個存放編譯后“成品”的文件夾,我準備放在d:\qt451\static里

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

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

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

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

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

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

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

鍵入命令

  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可以顯示所有選項的幫助信息,上面是我用的選項,解釋一下:

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

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

-static 編譯靜態庫,如果不指定,默認為編譯成DLL

-opensource 使用LGPL協議,如果不指定也行,configure運行后會問的

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

-no-dbus 不用鏈接到DBus庫,這個庫偶好像在Linux里看到過,Windows里不用。

-no-phonon 同上,不要鏈接

-no-webkit 是否編譯Web相關的一些QT子庫,加上這個可以省不少編譯時間,就看你是否準備用這些庫了。

-qt-gif 使用QT自帶的gif庫

-qt-zlib 使用QT自帶的zlib庫

-qt-libpng 使用QT自帶的libpng庫

-qt-libmng 使用QT自帶的libmng庫

-qt-libtiff 使用QT自帶的libtiff庫

-qt-libjpeg 使用QT自帶的libjpeg庫

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

輸入nmake install

如果沒出錯的話,“QT成品”就已經在我們之前建立的成品路徑里了(我的是d:\qt451\static)

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

測試是否成功

1、打開VC

2、新建項目

3、設置項目屬性

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

5、配置屬性->C/C++->代碼生成->運行時庫:多線程調試(/MTd),這 條依據你當時修改qmake.conf的情況決定

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

7、配置屬性->鏈接器->輸入->附加依賴項: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();  

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

【編輯推薦】

解析 QT 靜態庫和動態庫

 深度解析 QT 編譯安裝方法

深度解析嵌入式QT開發環境搭建

Qt和KDE在未來將面臨新的挑戰和機遇

Linux下應用程序開發之QT的信號與槽機制

責任編輯:zhaolei 來源: 互聯網
相關推薦

2011-06-08 15:27:24

QT QT 4.5 編譯

2011-06-14 13:59:09

Qt Qt 4.7.3 MYsql

2011-06-09 14:56:53

QT 編譯

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 靜態 編譯

2011-06-24 13:38:32

QT 編譯 安裝

2011-06-09 16:47:56

Qt 嵌入式

2011-09-09 17:59:26

QT Widget

2011-07-01 15:04:49

Qt 內省

2011-06-23 15:32:05

Qt Windows消息

2011-06-29 10:30:04

VC2005 QT QT 4.4.3

2011-06-22 15:50:45

QT 線程

2011-06-27 09:15:21

QT Creator

2011-07-01 14:39:08

Qt Quick

2011-06-30 14:44:16

QT Qvfb Embedded

2011-06-16 09:10:49

Qt Symbian Nokia

2011-06-23 18:16:59

Qt Qtopia
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 天天色av | 九色 在线 | 成人欧美一区二区三区在线播放 | 99久久免费精品国产免费高清 | 精品久久久久久久久久久久久久久久久 | 中文字幕在线电影观看 | 国产中文字幕在线 | 久久免费视频网 | 毛片免费看 | 亚洲自拍一区在线观看 | 免费在线观看一区二区 | 国产精品1区 | 亚洲精品无 | 久久久国产一区 | 男人的天堂中文字幕 | 国产视频福利一区 | 亚洲欧美高清 | 国产精品精品久久久 | 欧美国产一区二区 | 97成人免费| 欧美日韩中文字幕在线 | 四虎精品在线 | 天天操天天插天天干 | 欧美女优在线观看 | 免费麻豆视频 | 操久久 | 久久久无码精品亚洲日韩按摩 | 久久激情视频 | 97免费在线观看视频 | 欧美三级在线 | 精品小视频 | 欧美二区乱c黑人 | 欧美国产免费 | www.99热| 亚洲黄色av | 国产激情视频在线 | 日本成人中文字幕在线观看 | 男人天堂视频在线观看 | 国产91在线播放 | 欧美一区二区三区在线视频 | 看av在线 |