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

解析 VC 2005 下編譯安裝并開發(fā) QT 4.4.3 應(yīng)用程序

移動(dòng)開發(fā)
本文介紹的是解析 VC 2005 下編譯安裝并開發(fā) QT 4.4.3 應(yīng)用程序,很詳細(xì)的介紹,先來看內(nèi)容。

VC 2005 下編譯安裝并開發(fā) QT 4.4.3 應(yīng)用程序是本文要介紹的內(nèi)容,一部分時(shí)從壇子里看的,一部分時(shí)心得,不多說,先來看內(nèi)容。最近研究webkit,順便研究了一下QT。發(fā)現(xiàn)網(wǎng)上流傳的一個(gè)轉(zhuǎn)帖《VC 2005 下如何編譯安裝并開發(fā) QT 4.4.0 應(yīng)用程序》

Qt 是一個(gè)跨平臺(tái)的C++圖形用戶界面庫,由挪威TrollTech公司出品,Qt支持所有的UNIX系統(tǒng),包括Linux系統(tǒng),還支持WinNT/Win2k、Windows 95/98平臺(tái)。

本文將使用簡(jiǎn)單的幾個(gè)步驟說明在VC 2005下如何編譯安裝并開發(fā)QT應(yīng)用程序:

一、下載及安裝

1. 從官方網(wǎng)站http://trolltech.com/lang/cn/downloads/open-source-downloads下載QT最新版本源代碼,ftp://ftp.trolltech.com/qt/source/qt-win-opensource-src-4.4.0.zip,假定解壓到D:\Qt\4.4.0目錄;

2. 從VC 2005的安裝路徑找到vsvars32.bat,例如:在E:\Program Files\Microsoft Visual Studio 8\Common7\Tools,運(yùn)行cmd,

  1. C:\> E:  
  2. E:\> "E:\Program Files\Microsoft Visual Studio 8\Common7\Tools"  
  3. E:\Program Files\Microsoft Visual Studio 8\Common7\Tools> vsvars32.bat  
  4. E:\Program Files\Microsoft Visual Studio 8\Common7\Tools> D:  
  5. D:\> cd D:\Qt\4.4.0  
  6. D:\Qt\4.4.0> configure -debug-and-release -static  
  7. D:\Qt\4.4.0> nmake 

configure -debug-and-release -static參數(shù)的意義是告訴QT同時(shí)編譯為Debug和Release兩個(gè)版本的靜態(tài)鏈接庫,不指定參數(shù)則編譯為Debug版本的動(dòng)態(tài)鏈接庫。 configure大約需要十幾分鐘,nmake則大約需要1小時(shí)左右,視你的電腦性能而定。

3. 將Qt路徑添加到VC編譯環(huán)境中,工具->選項(xiàng)->項(xiàng)目和解決方案->VC++目錄,在包含文件一欄添加: D:\Qt\4.4.0\include\QtGui;D:\Qt\4.4.0\include\QtCore;D:\Qt\4.4.0\include,在庫文件一欄添加D:\Qt\4.4.0\lib;將QT安裝路徑添加到Path系統(tǒng)環(huán)境變量中,例如:D:\Qt\4.4.0\bin;

二、交叉編譯

1. 啟動(dòng)VC,創(chuàng)建一個(gè)Hello Qt工程,將工程設(shè)置改為使用多字節(jié)字符集,因?yàn)镼t Application的入口函數(shù)不是Unicode的;

2. 啟動(dòng)Qt Designer,新建窗體->選擇對(duì)話框窗體(第一個(gè)選擇項(xiàng)),在新建的對(duì)話框上面放一個(gè)Label控件,將其Title修改為“Hello Qt!”,將該窗體保存到剛才用VC建立的Hello Qt工程目錄,文件名為Hello.ui;

3. 將Hello.ui作為源文件添加到Hello Qt工程中,在Hello.ui上點(diǎn)擊右鍵->屬性,在屬性對(duì)話框中選擇自定義生成步驟->常規(guī),在命令行一欄輸入:uic.exe Hello.ui -o HelloUi.h,說明一欄輸入:正在編譯Hello.ui ,在輸出一欄輸入:HelloUi.h,在附加依賴項(xiàng)一欄輸入:uic.exe;Hello.ui,點(diǎn)擊確定;

如果是QObject的子類,則要用:moc.exe XXX.h -o debug/moc_XXX.cpp命令。 例如:

  1. E:\backup20080122\qt-win-opensource-src-4.4.3\bin\moc.exe -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB 
  2. -DQT_THREAD_SUPPORT -I"e:\backup20080122\qt-win-opensource-src-4.4.3\include\QtCore" 
  3. -I"e:\backup20080122\qt-win-opensource-src-4.4.3\include\QtCore" -I"e:\backup20080122\qt-win-opensource-src-4.4.3\include\QtGui" 
  4. -I"e:\backup20080122\qt-win-opensource-src-4.4.3\include\QtGui" -I"e:\backup20080122\qt-win-opensource-src-4.4.3\include" -I"."
  5. -I"e:\backup20080122\qt-win-opensource-src-4.4.3\include\ActiveQt" -I"debug" -I"." 
  6. -Ie:\backup20080122\qt-win-opensource-src-4.4.3\mkspecs\win32-msvc2005 -D_MSC_VER=1400 
  7. -DWIN32 WebViewCollection.h -o debug\moc_WebViewCollection.cpp 

注意:也可以不使用手工添加方式添加編譯ui文件,直接使用qmake編譯成VC工程,但這樣會(huì)破壞原來的工程設(shè)置,因?yàn)楫?dāng)ui文件修改或添加新的ui后需要重新qmake,重新生成VC工程,因此這里采用了手工添加并設(shè)置編譯腳本的方式,qmake的用法如下:

  1. D:\Hello Qt> qmake -project -t vcapp -o HelloQt.pro  
  2. D:\Hello Qt> qmake 

不需要指定ui文件,qmake會(huì)將當(dāng)前目錄所有的ui文件以及C++文件創(chuàng)建一個(gè)VC工程。另外QT 4.4是對(duì)VC各個(gè)版本都兼容的,VC6、VC2003、VC2005、VC2008,編譯安裝步驟都是一致的。

4、在Hello.ui上點(diǎn)擊右鍵->編譯,將在當(dāng)前工程目錄生成HelloUi.h文件;

5、注意:此時(shí)需要將生成的HelloUi.h文件添加到工程中。 如果是QObject子類生成的moc_XXX.cpp,也需要添加到工程中。

否則會(huì)出現(xiàn):QtCore.lib(qtimer.obj) : error LNK2001: unresolved external symbol __imp___invalid_parameter_noinfo之類的錯(cuò)誤。

6、打開Hello Qt.cpp,在main函數(shù)添加啟動(dòng)代碼,完整代碼如下:

  1. // Hello Qt.cpp : 定義控制臺(tái)應(yīng)用程序的入口點(diǎn)。  
  2. #include "stdafx.h"  
  3. #include "HelloUi.h"   // ui文件編譯生成的C++文件  
  4. #include <QApplication> 
  5. int _tmain(int argc, _TCHAR* argv[])  
  6. {  
  7. QApplication app(argc, argv);  
  8. QDialog * dlg = new QDialog(); // Qt 窗口對(duì)象會(huì)自動(dòng)回收所有的子窗口對(duì)象,這里的dlg將被作為最外層窗口,
  9. 將由QApplication進(jìn)行回收,因此Qt窗口只能在堆分配對(duì)象,且不必使用delete。  
  10. Ui::Dialog ui;   // Dialog為ui文件編譯生成的C++類,參見HelloUi.h  
  11. ui.setupUi(dlg);  
  12. dlg->show();  
  13. return app.exec();  

在工程設(shè)置附加依賴項(xiàng)中添加QtCore.lib QtGui.lib,編譯工程,運(yùn)行即可出現(xiàn)Hello Qt程序。

Windows程序里面的消息機(jī)制,在MAC平臺(tái)則是蘋果事件,各平臺(tái)的驅(qū)動(dòng)方式各異,Qt則將這些不一致的平臺(tái)機(jī)制統(tǒng)一起來,形成了信號(hào)和槽機(jī)制,來處理各種系統(tǒng)事件,以實(shí)現(xiàn)跨平臺(tái)的目的,因此Qt程序幾乎不經(jīng)過任何修改,便可以在其它平臺(tái)編譯通過。

但是我用其中的方法時(shí),編譯時(shí)不能通過:

  1. QtCore.lib(qtimer.obj) : error LNK2001: unresolved external symbol __imp___invalid_parameter_noinfo 

(后來才知道,這是因?yàn)闆]有把moc生成的moc_XXX.cpp文件添加到工程導(dǎo)致的)

#p#

采用qmake方法才正常編譯通過。下面把我的方法記錄如下:

一、下載及安裝

1、從官方網(wǎng)站http://trolltech.com/lang/cn/downloads/open-source-downloads下載QT最新版本源代碼,ftp://ftp.trolltech.com/qt/source/qt-win-opensource-src-4.4.0.zip,假定解壓到D:\Qt\4.4.0目錄;

2. 從VC 2005的安裝路徑找到vsvars32.bat,例如:在E:\Program Files\Microsoft Visual Studio 8\Common7\Tools,運(yùn)行cmd,

  1. C:\> E:  
  2. E:\> "E:\Program Files\Microsoft Visual Studio 8\Common7\Tools"  
  3. E:\Program Files\Microsoft Visual Studio 8\Common7\Tools> vsvars32.bat  
  4. E:\Program Files\Microsoft Visual Studio 8\Common7\Tools> D:  
  5. D:\> cd D:\Qt\4.4.3  
  6. D:\Qt\4.4.3> configure -debug-and-release -static  
  7. D:\Qt\4.4.3> nmake 

configure -debug-and-release -static參數(shù)的意義是告訴QT同時(shí)編譯為Debug和Release兩個(gè)版本的靜態(tài)鏈接庫,不指定參數(shù)則編譯為Debug版本的動(dòng)態(tài)鏈接庫。 configure大約需要十幾分鐘,nmake則大約需要2小時(shí)左右,視你的電腦性能而定。

3、設(shè)置環(huán)境變量:

我的電腦>屬性>高級(jí)>環(huán)境變量>用戶變量里面設(shè)置幾個(gè)變量:

PATH中增加C:\Qt\4.4.3\bin(如果沒有就創(chuàng)建),

創(chuàng)建QMAKESPEC值為 win32-msvc2005,這個(gè)值還是根據(jù)你要生成的Vs版本,6.0 使用win32-msvc, 2003 使用win32-msvc.net, 2005就是 win32-msvc2005  

創(chuàng)建QTDIR值為 C:\Qt\4.4.3

如果你機(jī)器上安裝多個(gè)版本的QT,就通過這三個(gè)環(huán)境變量來切換了,我同時(shí)有C:\Qt\4.0.0,那么就把那些前綴都換成C:\Qt\4.0.0,就使用4.0了。最后為了使的你剛才修改的環(huán)境變量生效,重啟cmd,可以通過C:\> qmake -v來看你使用的QT版本。

二、交叉編譯

1、啟動(dòng)Qt Designer,新建窗體->選擇對(duì)話框窗體(第一個(gè)選擇項(xiàng)),在新建的對(duì)話框上面放一個(gè)Label控件,將其Title修改為“Hello Qt!”,將該窗體保存到HelloQT目錄下,文件名為HelloQT.ui;

2、運(yùn)行命令提示行,到HelloQT目錄下:

3、運(yùn)行 

  1. HelloQT> qmake -project -t vcapp -o HelloQT.pro  
  2.             HelloQT> qmake 

4、此時(shí),HelloQt文件夾下生成了VC工程文件:HelloQT.vcproj; 此外還有生成的ui_helloQT.h文件

5、將此工程添加到你的解決方案中。

6、向工程中添加helloQT.cpp

  1. // helloQT.cpp : Defines the entry point for the console application.  
  2. // ui文件編譯生成的C++文件  
  3. #include "ui_helloQT.h"  
  4. int main(int argc, char* argv[])  
  5. {  
  6.     QApplication app(argc, argv);  
  7.     QDialog * dlg = new QDialog(); // Qt 窗口對(duì)象會(huì)自動(dòng)回收所有的子窗口對(duì)象,這里的dlg將被作為最外層窗口,
  8. 將由QApplication進(jìn)行回收,因此Qt窗口只能在堆分配對(duì)象,且不必使用delete。  
  9.     Ui::Dialog ui;   // Dialog為ui文件編譯生成的C++類,參見HelloUi.h  
  10.     ui.setupUi(dlg);  
  11.     dlg->show();  
  12.     return app.exec();  

編譯,運(yùn)行通過。

以上基本上可以開發(fā)簡(jiǎn)單的程序了,如果需要使用opengl等其他的,自己google下吧。有米的人也可以直接購買QT的商業(yè)版,可以直接集成到VS里面去,有向?qū)У葨|西。我使用Qt 4.0的還是比較爽的。自己有時(shí)間好好看看examples里面的例子,開發(fā)的時(shí)候也可以作為參考,很好的資料。

小結(jié):VC 2005 下編譯安裝并開發(fā) QT 4.4.3 應(yīng)用程序的內(nèi)容介紹完了,希望本文對(duì)你有多幫助,更多資料請(qǐng)參考編輯推薦!

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

2011-06-09 09:12:12

QT symbian

2010-01-11 10:15:09

FedoraFedora 12Mplayer

2011-05-03 09:14:45

QtOvi商店Symbian

2010-01-26 13:29:46

VC++應(yīng)用程序

2011-08-12 14:54:45

iPhone委托

2010-08-12 15:52:34

Flex應(yīng)用程序

2009-12-10 13:47:06

VS2005應(yīng)用程序

2011-06-09 14:56:53

QT 編譯

2011-07-02 14:03:12

Linux Qt

2010-01-22 10:44:10

VC++應(yīng)用程序

2010-08-12 15:44:25

Flex應(yīng)用程序

2011-06-14 14:57:06

QT Python GUI

2021-02-05 11:55:37

PythonWindows平臺(tái)代碼

2011-09-01 10:01:35

PhoneGap應(yīng)用程序GoodDay

2013-02-21 14:14:40

開發(fā)Tizen

2013-02-21 14:15:41

開發(fā)Tizen

2012-02-08 15:06:31

ibmdw

2022-09-19 00:37:13

SaaS云計(jì)算開發(fā)

2009-12-21 15:48:29

WCF應(yīng)用程序

2010-03-02 14:24:00

Android應(yīng)用程序
點(diǎn)贊
收藏

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

主站蜘蛛池模板: av性色| 国产精品久久久久久久久久不蜜臀 | www国产成人免费观看视频,深夜成人网 | 国产成人精品999在线观看 | 国产小网站 | 亚洲一区二区在线免费观看 | av网站在线播放 | 一区二区三区四区五区在线视频 | 久久久久亚洲 | 天天插天天搞 | 一级免费毛片 | 欧美日韩三级 | 91久久久久久久久久久久久 | 九九热精品视频在线观看 | 韩国精品在线 | 美国十次成人欧美色导视频 | 国产 欧美 日韩 一区 | 激情久久av一区av二区av三区 | 黄网站在线观看 | 亚洲精品久久久久avwww潮水 | 精品亚洲一区二区三区 | 亚洲久久 | 成人黄色在线视频 | 久久久蜜臀国产一区二区 | 国内精品在线视频 | 欧美aaa一级片 | 91久久精品国产91久久性色tv | 日本免费一区二区三区 | 国产三级精品三级在线观看四季网 | 免费一级欧美在线观看视频 | 亚洲国产成人精品女人 | 男女激情网站免费 | 丁香婷婷久久久综合精品国产 | 黄色在线免费观看视频 | 欧美三级三级三级爽爽爽 | 精品久久久久久久久久久久 | 久久高清国产视频 | 欧美亚洲国产一区二区三区 | 亚洲精品综合一区二区 | 影音先锋中文字幕在线观看 | 免费一区 |