• <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 環境準備

            本文使用的WindowsMobile開發環境是Visual Studio 2008版本,要求在安裝VS2008的時候,一定要選擇安裝Visual C++ ,并且要選擇上智能設備可編程技術選項。如下圖:

            image

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

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

            在WindowsMobile的SDK安裝完成后,先不要著急開始繼續后面安裝QT庫的步驟,讓我們先創建一個WindowsMobile程序試試:

            (點擊看大圖)

            image

            ?

            image

            image

            直接按F5調試工程,經過短暫的編譯和部署的步驟后,就可以看到一個設備仿真器的界面,并且會隨機運行我們的測試程序,如下圖:

            image image

            如果是在一個英文的ROM上運行,則會出現上面右圖的情形,可以參考下圖修改選擇合適的模擬器來進行調試(點擊小圖看大圖):

            image

            ?

            安裝用于WindowsMobile的QT庫

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

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

            第一步,當然是下載QT啦

            當前 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

            如果想查看下載最新的版本的話,請訪問這個網址:

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

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

            第二步,安裝配置前的設置

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

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

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

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

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

            第三步,配置QT庫

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

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

            于是我們執行下面的命令:

            cd /d c:\qt\ce452

            configure -platform win32-msvc2008 -xplatform wincewm60professional-msvc2008

            于是經歷了漫長的等待后,終于將QT庫進行了正確的配置。

            接著是一步很重要的操作,運行:

            setcepaths wincewm60professional-msvc2008

            這個命令將會為我們設置適合的PATH,INCLUDE,LIB等環境變量,讓我們可以在編譯過程中正確的引用代碼包含文件和庫文件等。

            然后就是用vs2008提供的命令來進行QT庫的編譯了,簡單的在命令行輸入:

            nmake

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

            移植和運行調試QT開發的應用程序

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

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

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

            setcepaths wincewm60professional-msvc2008

            這里的環境變量設置是非常重要的步驟,只有正確設置了,才可以正確的產生和編譯鏈接 Windows Mobile的應用程序工程。

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

            qmake –tp vc

            你也可以指定輸出文件:

            qmake –tp vc –o ***.vcproj

            使用過VisualStudio和QT開發過桌面應用的童鞋一定會發現,這個命令其實就是用來將QT Project文件 ***.pro轉換成Visual Studio的工程文件的。

            注:如果你并未設置環境變量,那么最好使用絕對路徑運行qmake,比如 c:\qt\ce452\bin\qmake –tp vc –o ***.vcproj

            使用VisualStudio2008打開生成的 vcproj文件,然后按F5嘗試編譯運行。對于大部分簡單的QT應用程序,到了這步基本上是不會有太多問題了。然而應用于WindowsCE的QT庫與應用于普通Windows平臺的QT庫還是有一些差別的。具體的差別,恩,這個,我現在一個初學者還真說不上來什么。不過在我做一個具體的移植的工作時,至少遇到了QString::toStdString()不能用于WindowsMobile開發的情況,據說是因為在WindowsMobile里無法支持STL。。。。

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

            生成….ok

            部署.…ok

            載入應用程序….YEAH,我們的QT窗口成功的在模擬器系統里出現啦:

            image image image

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

            這個測試程序是一個用來測試動態切換語言的,在桌面環境下,如果點了菜單里的translate后,就會將窗口上的文字都翻譯成中文或者是另外一個字串,菜單的響應槽代碼如下:

            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);
            }

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

            image

            可以再從“項目”菜單里選擇“項目屬性”來打開上面的窗口,然后從左側選擇“部署”即可。其中“部署設備”里列出的是在你的機器上所有安裝注冊了的模擬器。如果你安裝了WindowsMobile 6.5 的Developer Tool,那么還可以看到有Windows Mobile 6.5的選項的。而“附加文件”里則是一些要隨同目標文件部署的文件,qtgui和qtcore庫以及visualstudio2008的運行時庫就是在這里配置部署到模擬器里的。讓我們點開它:

            image

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

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

            image

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

            QT程序在WindowsMobile上的部署

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

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

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

            image

            這里有幾個要點:

            1. 添加到當前解決方案(因為要讓安裝部署的項目依賴我們的主項目)
            2. 項目名稱,目錄里最好不要有中文出現,也不要有空格之類的
            3. 安裝部署項目的屬性里,關于制造商Manufacture的名字,不能用中文。需要將默認公司名稱修改為英文的。否則最后生成CAB文件時會失敗。

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

            image

            安裝項目默認會在“文件系統”標簽里顯示“Program Files文件夾”和“應用程序文件夾”兩項,可能你會有點迷惑,但是簡單的試驗就能明白各是什么含義的。簡單做一下說明:

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

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

            image

            添加后的樣子:

            image

            ?

            ?

            ?

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

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

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

            image

            囧 !!!! ORZ…

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

            現在都在傳說Nokia將會在它以后產的手機里都部署上QT庫,也不知道真假,如果是真的,那我一定會再寫一篇初涉SymbianOS下的QT程序移植的博文,哈哈!

            http://code.google.com/p/klsudoku
            Email: ttylikl@qq.com
            QQ群:106249
            posted on 2009-08-26 09:55 披星戴月 閱讀(678) 評論(0)  編輯 收藏 引用 所屬分類: WinCE
            <2025年5月>
            27282930123
            45678910
            11121314151617
            18192021222324
            25262728293031
            1234567

            常用鏈接

            留言簿(2)

            隨筆分類

            隨筆檔案

            文章檔案

            相冊

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            伊人久久大香线蕉综合网站| AAA级久久久精品无码区| 久久久一本精品99久久精品88| 九九精品久久久久久噜噜| 亚洲av日韩精品久久久久久a| 69国产成人综合久久精品| 久久久久久久综合综合狠狠| 国内精品久久久久久久久电影网| 久久精品国产只有精品2020| 久久综合视频网| 91精品国产91久久综合| 国产成人久久久精品二区三区| 久久久久青草线蕉综合超碰| 丁香久久婷婷国产午夜视频| 色播久久人人爽人人爽人人片AV| 久久国产精品-久久精品| 波多野结衣久久精品| 99久久精品免费国产大片| 久久久久亚洲av无码专区| 久久久艹| 精品久久人人妻人人做精品| 久久精品天天中文字幕人妻| 精品久久久久久国产| 欧洲国产伦久久久久久久| 婷婷久久综合| 国产午夜精品久久久久九九| 2021少妇久久久久久久久久| 少妇久久久久久被弄高潮| 亚洲日本va午夜中文字幕久久 | 精品国产青草久久久久福利| 久久精品国产亚洲一区二区三区 | 91精品国产91久久久久福利| 国产成人久久精品一区二区三区 | 久久久这里只有精品加勒比| 狠狠色伊人久久精品综合网| 国产精品久久久久久久久鸭| 精品久久久久久亚洲精品| 精品伊人久久大线蕉色首页| 97精品伊人久久久大香线蕉| 伊人久久五月天| 亚洲欧美日韩中文久久|