• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            posts - 34,  comments - 5,  trackbacks - 0

            Visual Studio 環(huán)境準(zhǔn)備

            本文使用的WindowsMobile開發(fā)環(huán)境是Visual Studio 2008版本,要求在安裝VS2008的時(shí)候,一定要選擇安裝Visual C++ ,并且要選擇上智能設(shè)備可編程技術(shù)選項(xiàng)。如下圖:

            image

            如果你已經(jīng)安裝過VS2008,那么只要從Windows的“添加/刪除程序”找到VisualStudio2008進(jìn)入維護(hù)模式即可重新添加或者刪除VS2008的組件。

            在VS2008安裝完成后,已經(jīng)可以開發(fā)基于WindowsMobile5.0的應(yīng)用程序了。不過現(xiàn)在Windows Mobile系列手機(jī)大多都已經(jīng)是WindowsMobile6.0或者6.1以上的版本了,甚至已經(jīng)不少手機(jī)玩家已經(jīng)將手機(jī)刷成WindowsMobile6.5了。所以建議大家至少應(yīng)該安裝一個(gè)WindowsMobile 6 的SDK。并且最好是可以安裝一個(gè)簡(jiǎn)體中文版本,因?yàn)楹?jiǎn)體中文版本里的設(shè)備仿真器里的WindowsMobile是中文版本的,如果用英文版本設(shè)備仿真器,那么程序運(yùn)行后中文只會(huì)被顯示為一個(gè)個(gè)的方框□□□□的。(WindowsMobile開發(fā)相關(guān)資源列表:http://www.cnblogs.com/upto/archive/2007/03/13/mobile-development-tools.html

            在WindowsMobile的SDK安裝完成后,先不要著急開始繼續(xù)后面安裝QT庫(kù)的步驟,讓我們先創(chuàng)建一個(gè)WindowsMobile程序試試:

            (點(diǎn)擊看大圖)

            image

            ?

            image

            image

            直接按F5調(diào)試工程,經(jīng)過短暫的編譯和部署的步驟后,就可以看到一個(gè)設(shè)備仿真器的界面,并且會(huì)隨機(jī)運(yùn)行我們的測(cè)試程序,如下圖:

            image image

            如果是在一個(gè)英文的ROM上運(yùn)行,則會(huì)出現(xiàn)上面右圖的情形,可以參考下圖修改選擇合適的模擬器來進(jìn)行調(diào)試(點(diǎn)擊小圖看大圖):

            image

            ?

            安裝用于WindowsMobile的QT庫(kù)

            可以從QT的官方網(wǎng)站查閱具體的安裝步驟,具體可以訪問: http://doc.trolltech.com/4.5/install-wince.html

            簡(jiǎn)單介紹一下我是如何按照上面的說明一步一步的安裝用于VS2008 + WindowsMobile SDK 6的QT庫(kù)吧。

            第一步,當(dāng)然是下載QT啦

            當(dāng)前 Qt for Open Source C++ development on Windows CE 的最新版本是4.5.2,可以從下面的鏈接下載:

            ? http://get.qtsoftware.com/qt/source/qt-embedded-wince-opensource-src-4.5.2.zip

            如果想查看下載最新的版本的話,請(qǐng)?jiān)L問這個(gè)網(wǎng)址:

            http://www.qtsoftware.com/downloads/win-ce-cpp

            恩,這個(gè)包大小是138M,我用ADSL好一陣等啊。。。。

            第二步,安裝配置前的設(shè)置

            首先是解包,將下載回來的包解壓縮到c:\qt里,不過這個(gè)目錄名稱qt-embedded-wince-opensource-src-4.5.2好長(zhǎng)啊,修改成c:\qt\ce452好了。

            我們可以注意到,在c:\qt\ce452\bin里,已經(jīng)有一個(gè)很重要的批處理命令setcepaths.bat。

            下一步,從Visual Studio 2008的菜單項(xiàng)里,找到Visualt Studio Tools里的Visual Studio 2008命令提示符,點(diǎn)擊它可以打開一個(gè)命令提示符,在這個(gè)命令提示符里,已經(jīng)設(shè)置好了Visual Studio所需要的各種環(huán)境變量。你也可以打開任意一個(gè)命令提示符,然后運(yùn)行 C:\Program Files\Microsoft Visual Studio 9.0\VC\vcvarsall.bat ,也是同樣的。

            然后,將c:\qt\ce452\bin 增加到PATH環(huán)境變量里。

            注意:從這步開始,我們的操作將主要在這個(gè)命令提示符窗口里輸入命令。

            第三步,配置QT庫(kù)

            				從QT官方網(wǎng)站我們可以看到這樣的配置示例:
            		
            				
            						configure -platform win32-msvc2005 -xplatform wincewm50pocket-msvc2005
            				
            		

            可是我們使用的卻是vs2008,該如何進(jìn)行配置呢?我們可以打開(注意,是用文本編輯器打開而不是運(yùn)行它)先前提到的 c:\qt\ce452\bin\setcepaths.bat,在最后面看到了適合vs2008的平臺(tái)名稱:wincewm60professional-msvc2008 (適合PPC類終端,如果是非觸摸的smartphone則選擇wincewm60standard-msvc2008),這兩個(gè)名稱也可以在c:\qt\ce452\mkspecs目錄下看到。

            于是我們執(zhí)行下面的命令:

            cd /d c:\qt\ce452

            configure -platform win32-msvc2008 -xplatform wincewm60professional-msvc2008

            于是經(jīng)歷了漫長(zhǎng)的等待后,終于將QT庫(kù)進(jìn)行了正確的配置。

            接著是一步很重要的操作,運(yùn)行:

            setcepaths wincewm60professional-msvc2008

            這個(gè)命令將會(huì)為我們?cè)O(shè)置適合的PATH,INCLUDE,LIB等環(huán)境變量,讓我們可以在編譯過程中正確的引用代碼包含文件和庫(kù)文件等。

            然后就是用vs2008提供的命令來進(jìn)行QT庫(kù)的編譯了,簡(jiǎn)單的在命令行輸入:

            nmake

            這一次將經(jīng)過更長(zhǎng)的編譯過程。不過假如沒什么意外發(fā)生的話。你只要去散散步或者喝水杯咖啡小歇一會(huì)再回來,QT for Windows Mobile 6 的庫(kù)就已經(jīng)編譯完成,可以使用啦。

            移植和運(yùn)行調(diào)試QT開發(fā)的應(yīng)用程序

            注意,我們還是在之前的命令提示符下進(jìn)行后面的操作。如果你已經(jīng)關(guān)閉了那個(gè)提示符窗口,那么可以新打開一個(gè)提示符窗口,然后將 c:\qt\ce452\bin添加到PATH環(huán)境變量的前面,然后運(yùn)行VisualStudio的vcvarsall.bat,如下所示:

            PATH C:\qt\ce452\bin\;%PATH%

            "C:\Program Files\Microsoft Visual Studio 9.0\VC\vcvarsall.bat"

            setcepaths wincewm60professional-msvc2008

            這里的環(huán)境變量設(shè)置是非常重要的步驟,只有正確設(shè)置了,才可以正確的產(chǎn)生和編譯鏈接 Windows Mobile的應(yīng)用程序工程。

            首先要根據(jù)QT的 *.pro 文件生成可以在vs2008里使用的 *.vcproj文件,如果你是在VS2008+QT集成環(huán)境下作的開發(fā),你可以需要先使用qmake? –project 命令來生成*.pro文件,然后我們可以使用下面的命令來生成vcproj文件:

            qmake –tp vc

            你也可以指定輸出文件:

            qmake –tp vc –o ***.vcproj

            使用過VisualStudio和QT開發(fā)過桌面應(yīng)用的童鞋一定會(huì)發(fā)現(xiàn),這個(gè)命令其實(shí)就是用來將QT Project文件 ***.pro轉(zhuǎn)換成Visual Studio的工程文件的。

            注:如果你并未設(shè)置環(huán)境變量,那么最好使用絕對(duì)路徑運(yùn)行qmake,比如 c:\qt\ce452\bin\qmake –tp vc –o ***.vcproj

            使用VisualStudio2008打開生成的 vcproj文件,然后按F5嘗試編譯運(yùn)行。對(duì)于大部分簡(jiǎn)單的QT應(yīng)用程序,到了這步基本上是不會(huì)有太多問題了。然而應(yīng)用于WindowsCE的QT庫(kù)與應(yīng)用于普通Windows平臺(tái)的QT庫(kù)還是有一些差別的。具體的差別,恩,這個(gè),我現(xiàn)在一個(gè)初學(xué)者還真說不上來什么。不過在我做一個(gè)具體的移植的工作時(shí),至少遇到了QString::toStdString()不能用于WindowsMobile開發(fā)的情況,據(jù)說是因?yàn)樵赪indowsMobile里無法支持STL。。。。

            恩,總之,經(jīng)過一番修改后,我們的新工程終于可以成功編譯完成了。然后按F5運(yùn)行之。

            生成….ok

            部署.…ok

            載入應(yīng)用程序….YEAH,我們的QT窗口成功的在模擬器系統(tǒng)里出現(xiàn)啦:

            image image image

            旁邊的對(duì)比圖片是在Windows7下的運(yùn)行效果,是很像吧? 恩,不過還是有點(diǎn)點(diǎn)區(qū)別哦,字體和按鈕跟桌面上是不一樣的效果了,最大的區(qū)別是,窗口的菜單欄,跑到右下角啦。

            這個(gè)測(cè)試程序是一個(gè)用來測(cè)試動(dòng)態(tài)切換語(yǔ)言的,在桌面環(huán)境下,如果點(diǎn)了菜單里的translate后,就會(huì)將窗口上的文字都翻譯成中文或者是另外一個(gè)字串,菜單的響應(yīng)槽代碼如下:

            void i18n::on_actionTranslate_triggered()
            {
            ??? QTranslator trans;
            ??? switch(nLang)
            ??? {
            ??? case 0:
            ??????? trans.load("i18n_zh");
            ??????? break;
            ??? case 1:
            ??????? //nothing
            ??????? break;
            ??? }
            ??? qApp->installTranslator(&trans);
            ??? nLang= (nLang+1)%2;
            ??? ui.retranslateUi(this);
            }

            可是在模擬器上點(diǎn)了菜單后,界面沒有任何響應(yīng),查閱上面的代碼,很顯然,trans.load肯定失敗了。。。我們直接調(diào)試程序的時(shí)候,VisualStudio只是簡(jiǎn)單的部署了應(yīng)用程序主輸出文件(i18n.exe)和相應(yīng)的qt庫(kù)函數(shù)和Visual Studio 2008的C運(yùn)行庫(kù),另外,細(xì)心的朋友一定也會(huì)注意到,現(xiàn)在啟動(dòng)的是一個(gè)英文版本的模擬器,如果不將其更換為中文的模擬器,即使我們成功的部署了i18n_zh.qm,也是不會(huì)顯示出中文的。所以讓我們從VisualStudio2008里更改一下部署設(shè)置吧:

            image

            可以再?gòu)摹绊?xiàng)目”菜單里選擇“項(xiàng)目屬性”來打開上面的窗口,然后從左側(cè)選擇“部署”即可。其中“部署設(shè)備”里列出的是在你的機(jī)器上所有安裝注冊(cè)了的模擬器。如果你安裝了WindowsMobile 6.5 的Developer Tool,那么還可以看到有Windows Mobile 6.5的選項(xiàng)的。而“附加文件”里則是一些要隨同目標(biāo)文件部署的文件,qtgui和qtcore庫(kù)以及visualstudio2008的運(yùn)行時(shí)庫(kù)就是在這里配置部署到模擬器里的。讓我們點(diǎn)開它:

            image

            部署的附加文件列表格式是:一行一個(gè)文件,每行格式為 文件名|本地磁盤目錄|目標(biāo)路徑|注冊(cè)表否 ,在上圖里我已經(jīng)填寫好了缺失的i18n_zh.qm文件的部署信息了。

            確定后重新按F5開始運(yùn)行,這次是中文的模擬器了,并且切換顯示語(yǔ)言后的中文也正確顯示出來了:

            image

            利用QT編寫的窗口在WindowsMobile手機(jī)里,同樣的可以在右下角拖拉改變窗口的大小,也可以按住標(biāo)題欄拖動(dòng)以改變窗口的位置,這些,都與普通Windows窗口完全一致哦,好玩吧!是不是很想立刻就開始自己的WindowsMobile之旅了?別著急,還有最后一步,QT程序在WindowsMobile上的部署!

            QT程序在WindowsMobile上的部署

            此時(shí),你的程序已經(jīng)在WindowsMobile模擬器上正常運(yùn)行了,你一定也跟我一樣,非常迫切的希望可以讓自己的程序在WindowsMobile的手機(jī)上運(yùn)行起來吧!

            在Visual Studio 2008的幫助下,這一切都是很輕松的事情。

            首先,我們可以在我們的QT工程所在的解決方案里添加一個(gè)新的安裝部署的項(xiàng)目,如下圖(點(diǎn)擊可看大圖):

            image

            這里有幾個(gè)要點(diǎn):

            1. 添加到當(dāng)前解決方案(因?yàn)橐尠惭b部署的項(xiàng)目依賴我們的主項(xiàng)目)
            2. 項(xiàng)目名稱,目錄里最好不要有中文出現(xiàn),也不要有空格之類的
            3. 安裝部署項(xiàng)目的屬性里,關(guān)于制造商Manufacture的名字,不能用中文。需要將默認(rèn)公司名稱修改為英文的。否則最后生成CAB文件時(shí)會(huì)失敗。

            添加后的Visual Studio界面如下圖所示

            image

            安裝項(xiàng)目默認(rèn)會(huì)在“文件系統(tǒng)”標(biāo)簽里顯示“Program Files文件夾”和“應(yīng)用程序文件夾”兩項(xiàng),可能你會(huì)有點(diǎn)迷惑,但是簡(jiǎn)單的試驗(yàn)就能明白各是什么含義的。簡(jiǎn)單做一下說明:

            位置 Program Files 對(duì)應(yīng)WindowsMobile上的“程序”,你可以在這里創(chuàng)建目標(biāo)文件的快捷方式,這樣你的程序圖標(biāo)就可以顯示在用戶手機(jī)里了。倘若你不在這里創(chuàng)建快捷方式,要運(yùn)行你的軟件,就只能通過WindowsMobile的文件管理器去尋找你的程序才能運(yùn)行了。這個(gè)位置有點(diǎn)點(diǎn) PC “桌面” 的意思。
            除此之外,你還可以添加一個(gè)“Start Menu”的系統(tǒng)文件夾,對(duì)應(yīng)WindowsMobile手機(jī)左上角的開始菜單,這個(gè)跟桌面Windows版本是一致的。

            而位置“應(yīng)用程序文件夾”其實(shí)相當(dāng)于桌面Windows里的C:\Program Files\…. ,所以你添加要部署的文件的時(shí)候,自然是應(yīng)該添加到“應(yīng)用程序文件夾”里的。下面開始添加需要部署的文件:

            image

            添加后的樣子:

            image

            ?

            ?

            ?

            注意,我這里添加的是Release版本的文件。如果你想打包Debug版本的程序,要添加的文件分別應(yīng)該是QtCored4.dllQtGuid4.dll,msvcr90d.dll。

            添加完成后,將項(xiàng)目配置切換為Release,然后在安裝項(xiàng)目上點(diǎn)右鍵,選擇“生成”即可將可以在手機(jī)上進(jìn)行安裝的CAB包給制作出來了。

            到此為之。大功告成了!我們終于可以在自己的WindowsMobile手機(jī)上運(yùn)行自己寫的程序了。讓我們看看剛剛制作出來的安裝包:

            image

            囧 !!!! ORZ…

            一個(gè)沒啥功能的軟件,居然有近9M的大小,看來用QT做的程序,這體型都沒辦法走苗條路線啊~~~~~算是一個(gè)美中不足的地方了吧。。。。

            現(xiàn)在都在傳說Nokia將會(huì)在它以后產(chǎn)的手機(jī)里都部署上QT庫(kù),也不知道真假,如果是真的,那我一定會(huì)再寫一篇初涉SymbianOS下的QT程序移植的博文,哈哈!

            http://code.google.com/p/klsudoku
            Email: ttylikl@qq.com
            QQ群:106249
            posted on 2009-08-26 09:55 披星戴月 閱讀(685) 評(píng)論(0)  編輯 收藏 引用 所屬分類: WinCE
            <2009年8月>
            2627282930311
            2345678
            9101112131415
            16171819202122
            23242526272829
            303112345

            常用鏈接

            留言簿(2)

            隨筆分類

            隨筆檔案

            文章檔案

            相冊(cè)

            搜索

            •  

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            国产成人精品久久一区二区三区 | 国内精品久久久久影院老司| 狠狠综合久久综合中文88| 久久久精品人妻无码专区不卡| 久久精品一区二区三区AV| 97精品国产91久久久久久| 久久本道久久综合伊人| 97久久婷婷五月综合色d啪蜜芽| 青青草原综合久久大伊人精品| 久久久久久久精品妇女99| 国产精品免费看久久久| 人妻精品久久无码区| 色婷婷狠狠久久综合五月| 久久综合久久综合久久综合| 亚洲人成无码www久久久| 美女久久久久久| 日本久久中文字幕| 国产精品一久久香蕉产线看| 无码八A片人妻少妇久久| 国产精品美女久久久免费| 国产成人久久久精品二区三区 | 久久久青草青青国产亚洲免观| 久久亚洲AV成人出白浆无码国产| 欧美久久天天综合香蕉伊| 久久99国产精品一区二区| 久久夜色精品国产噜噜亚洲AV| 亚洲精品WWW久久久久久| 久久精品中文字幕有码| 欧美亚洲另类久久综合| 国产午夜精品久久久久免费视 | 久久久久亚洲精品天堂| 成人妇女免费播放久久久| 亚洲乱码中文字幕久久孕妇黑人| 色偷偷偷久久伊人大杳蕉| 伊人久久大香线蕉综合网站| 久久免费视频6| 色婷婷久久久SWAG精品| 久久午夜福利无码1000合集| 久久久久波多野结衣高潮| 7777精品久久久大香线蕉| 无码国产69精品久久久久网站|