




已閱讀5頁,還剩2頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
Qt for WinCE 環(huán)境搭建心得李振宇 2011-10-17由于c#版終端軟件在WinCE終端上運(yùn)行不穩(wěn)定,因此考慮用C+(Qt)重新開發(fā),以前用Qt的SDK安裝很方便,可是Qt Wince環(huán)境必須要編譯Qt源代碼,為了搭建環(huán)境經(jīng)歷了很多周折,歷盡艱辛,花了3天時間,終于搞定了,現(xiàn)把主要步驟和注意事項(xiàng)記下,以留備用。原來的開發(fā)環(huán)境設(shè)計(jì)msvc2005 + qt4.7.4 + qt-vs-addin1.1.9 (qt的此兩項(xiàng)為當(dāng)前最新版本)可是由于qt4.7.4在編譯(for wince)時出現(xiàn)錯誤,此為qt4.7.4的一個Bug(見資料1),因此改為qt4.7.3。msvc2005在安裝win32版時,由于只有msvc2008編譯版,重新編譯麻煩,因此改為msvc2008,否則Debug版編譯有問題(見資料2)。還有qt-vs-addin1.1.9在和msvc2008,wince6.0搭配有問題,加不了qt庫(見資料3),因此改用qt-vs-addin1.1.8。開發(fā)板方面用的是ARM9的SmartArm3250(wince 6.0)。最終開發(fā)環(huán)境為msvc2008 + qt4.7.3 + qt-vs-addin1.1.9資料1 : qt4.7.4 for wince bug現(xiàn)象:編譯qt庫時出現(xiàn)錯誤error LNK2019: unresolved external symbol gmtime referenced in function png_convert_from_time_t參考資料:/browse/QTBUG-21331Description:When building the Windows CE version of Qt4.7.4 (using e.g., configure -platform win32-msvc2008 -xplatform wincewm60professional-msvc2008, linking (nmake) fails with the following output.Creating library .libQtGuid4.lib and object .libQtGuid4.exppngwrite.obj : error LNK2019: unresolved external symbol gmtime referenced in function png_convert_from_time_t.libQtGuid4.dll : fatal error LNK1120: 1 unresolved externalsFunction gmtime is not available under Windows CE / Windows Mobile, so that would explain the linker error. I marked the Component as Image formats, as it seems to be related to pngwrite / libpng.Answer:But QT 4.7.4 for WinCE have problems with maximized forms ( form.showMaximized() ) I have to get back to 4.7.3 version.資料2 : msvc2005 Debug版不能用qt-win-opensource-4.7.3-vs2008.exe參考資料:/yibobin/blog/item/7fe8b9f01cbd76d47831aa28.html結(jié)論1:如果你想把Qt4.6.2安裝在VS2005中,又不想花時間編譯,請下載和安裝qt-win-opensource-4.6.2-vs2008,并單獨(dú)編譯“QT安裝路徑srcwinmain”結(jié)論2:在安裝qt-win-opensource-4.6.2-vs2008(msvc9/vs2008已編譯版)之前千萬不要安裝qt-sdk-win-opensource-2010.02.1(miniGW已編譯版),如果不幸安裝了,請先卸掉它,切記! 資料3:qt-vs-addin1.1.9和msvc2008存在兼容性問題現(xiàn)象:在vs2008添加qt庫時出現(xiàn)錯誤this qt version is not compatible to your current visual studio. Qt builds VS version:0 current version:1500。參考資料:/browse/QTVSADDINBUG-87安裝準(zhǔn)備:1. Visual Studio 2008 + vs2008 sp12. ActiveSync4.5(ActiveSyncsetup_PConline.msi)3. 開發(fā)板SDK (SmartARM3250.msi)4. qt-everywhere-opensource-src-4.7.3.zip 編譯為wince5. qt-win-opensource-4.7.3-vs2008.exe 做本機(jī)開發(fā)測試6. qt-vs-addin-1.1.8.exe VS IDE開發(fā)插件安裝vs2008就不多說了,注意安裝vs2008時選上智能設(shè)備開發(fā)包。用winXp和ie8的注意了,vs2008和ie8在winXp上有沖突,解決辦法見資料4。資料4:IE8將導(dǎo)致VS2005(VS2008)行為異常 參考資料:/archiver/tid-875918.html今天突然發(fā)現(xiàn)VS2005不能用向?qū)?chuàng)建Win32智能設(shè)備項(xiàng)目,但是直接打開sln文件和程序的編譯鏈接沒有問題。開始很莫名其妙不知道為什么,因?yàn)樽约哼@幾天似乎沒弄什么東西。想了想,好像裝IE8了,就用ie8和vs2005的關(guān)鍵字搜索了一下,果然很多人遇到類似的問題:“IE8和VS2005以及VS2008存在嚴(yán)重兼容性問題,微軟官方論壇版主已經(jīng)證實(shí)了”在這里提醒一下準(zhǔn)備裝IE8的開發(fā)者,要考慮考慮。-3.31更新已有對應(yīng)方案,來自微軟的Visual C+開發(fā)小組。具體方法是:在注冊表里的下面位置HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionInternet SettingsZones添加一個為1000的新項(xiàng)目,再在這個項(xiàng)目里添加一個值為0的DWORD項(xiàng)目1207。-恢復(fù)vs2005向?qū)М惓?reg內(nèi)容-Windows Registry Editor Version 5.00HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionInternet SettingsZones10001207=dword:00000000安裝ActiveSync4.5很簡單。安裝開發(fā)板SDK時遇到問題,提示解決辦法是安裝是不要選擇文檔(Documentation),具體的參照資料5。資料5 單機(jī)搭建WinCE開發(fā)環(huán)境(四) 參考資料:/we-hjb/archive/2008/08/04/1260425.html前幾天一直在測試VS2005下WinCE6.0中文模擬器的使用,基本上沒有問題了。今天便在VS2008中安裝了一下WinCE6.0中文模擬器的SDK,又遇到了一些小問題,貼出來跟大家分享一下,也算是對單機(jī)搭建WinCE開發(fā)環(huán)境的一個補(bǔ)充。 第一次安裝時,一路默認(rèn),開始一切正常,到安裝快完成的時候出現(xiàn)了狀況,先后出現(xiàn)了下面的兩個提示,點(diǎn)完OK后就Roll Back了。重新試了兩遍,都是如此。難道VS2008不支持WinCE6.0?這似乎不大可能。那問題在哪里呢?像這種沒頭沒腦的問題,只能“百度一下”了,結(jié)果“抱歉”。再Go一下,果然有6項(xiàng)相關(guān)的網(wǎng)頁。其中有一篇提到,在VS2008中安裝WinCE6.0的SDK時,不能完全安裝,必須選擇定制,并把.NET Compact Framework取消掉。按照這個說法重新安裝了一遍,問題依然存在。Faint為什么還是不行呢?再安裝一遍,把Documentation也取消掉,其他兩項(xiàng)Native Development Support和Common保留,竟然可以了!新建了一個MFC的工程,編譯下載測試,完全沒有問題,這證明VS2008確實(shí)是支持WinCE6.0應(yīng)用程序的開發(fā)的!不過下面這兩個問題到底是怎么回事呢? ToolsMsmCA(Error):IHxFilters filter registration failure:Err = 0x80040305,Context = pFilters-SetNameSapce(Namespace) ToolsMsmCA(Error): IHxRegisterSession transaction failure: Err = 0x8004036f, pRegSession-CommitTransaction() 把.NET CF取消掉就可以,那應(yīng)該跟它有一定的關(guān)系。是不是.NET CF2.0和3.5引起的?不得而知,只是猜測罷了。不管怎樣,能用就好。回頭有時間再找找看原因,當(dāng)然如果您知道這是怎么回事,也請指教啊。_ 下面編譯Qt源碼,比較麻煩,步驟參考資料6:資料6 編譯Qt For Wince參考資料:/bbs/read.php?tid=11920/QustDong/article/details/5672678/symbian-268033.htmQt-WinCE全解聲明:花費(fèi)了三天時間,周轉(zhuǎn)各大網(wǎng)站,終于在今天將自己的第一個Qt程序在“小I(SAMSUNG i718+)”上跑了起來!一、Qt 嵌入式環(huán)境的搭建a)首先,下載Qt的嵌入式開發(fā)包qt-embedded-wince-opensource-src-4.4.0.zipb)然后,下載VS2005。c)最后,下載一個嵌入式開發(fā)的SDK,如Windows Mobile 5.0 Pocket PC SDK,可以在微軟的官方網(wǎng)站上下載到!d)還有一個是同步的軟件 Microsoft ActiveSync4.5中文簡體版。-安-裝-e)首先安裝VS2005,很簡單,按照向?qū)?,在自定義安裝中務(wù)必選擇“智能設(shè)備開發(fā)”。f)關(guān)于Microsoft ActiveSync4.5的安裝更是“straightforward”。在此不再多說!g)然后,安裝Windows Mobile或是其它版本的SDK,可以用自定義的SDK!簡單h)比較麻煩的就是qt-embedded-wince的安裝。參照下面的步驟:、解壓,將解壓后的文件夾放到一個不含空格的路徑中,如我的:f:penguinxqt_wince,qt_wince即為此文件夾。然后設(shè)置環(huán)境變量:右鍵“我的電腦”“屬性”點(diǎn)“高級”標(biāo)簽“環(huán)境變量”選項(xiàng)在PATH中添加路徑“f:penguinxqt_wince bin”。OK!編譯前戲。首先,配置編譯選項(xiàng),進(jìn)行VS2005的命令行中,進(jìn)入解壓的文件夾,然后執(zhí)行如下:configure -platform win32-msvc2005 -xplatform wince50standard-armv4i-msvc2005可以根據(jù)自己的板子及手機(jī)配置來選擇其它的嵌入式的xplatfrom。這個過程可能需要十幾分鐘。執(zhí)行完后,再次在VS2005中設(shè)置臨時的環(huán)境變量,編譯時要用到:如下:set INCLUDE=D:Program FilesMicrosoft Visual Studio 8VCceinclude;D:Program FilesWindows CE Toolswce500Windows Mobile 5.0 Pocket PC SDKIncludeArmv4iset LIB=D:Program FilesMicrosoft Visual Studio 8VCcelibarmv4i;D:Program FilesWindows CE Toolswce500Windows Mobile 5.0 Pocket PC SDKLibARMV4Iset PATH=D:Program FilesMicrosoft Visual Studio 8VCcebinx86_arm;%PATH%在此我期望能根據(jù)自己的軟件安裝情況將上面的目錄“拿來主義”一下。設(shè) 置完后,執(zhí)行nmake,過兩、三個鐘頭后,你就可以Enjoy your journey. 最后,執(zhí)行nmake,安裝完畢!我的Qt-WinCE安裝在f:penguinxqt_wince關(guān)于定制SDK 用如下的參考資料:資料 7 定制SDK在F:qt441cemkspecs下新建一個目錄“wince50armsys2440-armv4i-msvc2005”命名必須符合如下規(guī)則wince-architecture-msvc2005。將wince50standard-armv4i-msvc2005目錄下的qmake.conf和qplatformdefs.h拷入新建目錄。 xipttl800600修改qmake.conf,將CE_SDK = STANDARDSDK_500修改為:CE_SDK = armsys2440并保存下面是我用的F:qt47mkspecswince60SmartARM3250-armv4i-msvc2008qmake.conf內(nèi)容include(./wince60standard-armv4i-msvc2005/qmake.conf)CE_SDK = SmartARM3250QMAKE_COMPILER_DEFINES -= _MSC_VER=1400QMAKE_COMPILER_DEFINES += _MSC_VER=1500configure
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 車輛租用自駕合同協(xié)議
- 木工責(zé)任協(xié)議書
- 培訓(xùn)師成長必讀:28本經(jīng)典教材精要
- 鄉(xiāng)村社區(qū)公共設(shè)施使用協(xié)議
- 《胸部手術(shù)后的護(hù)理》課件
- 消防水源協(xié)議書
- 設(shè)計(jì)院加班合同協(xié)議
- 《缺失的記憶:探索未知為主題的》課件
- 車輛管理協(xié)議書范本
- 轉(zhuǎn)讓移動擺攤車合同協(xié)議
- GB/T 20721-2006自動導(dǎo)引車通用技術(shù)條件
- 公眾責(zé)任險、財(cái)產(chǎn)一切險培訓(xùn)課件
- 西歐封建社會的發(fā)展課件
- 《ERCP術(shù)的護(hù)理》課件
- 電動汽車充電樁申請安裝備案表
- 有限空間作業(yè)氣體檢測記錄表
- DB37∕T 5118-2018 市政工程資料管理標(biāo)準(zhǔn)
- 油水井管理及動態(tài)分析.
- 水稻脫粒機(jī)畢業(yè)設(shè)計(jì)畢業(yè)設(shè)計(jì)
- 完整版電力工程設(shè)計(jì)資質(zhì)分級標(biāo)準(zhǔn)
- 硬筆書法練習(xí)用紙A4打印模板
評論
0/150
提交評論