轉 Qt-WinCE安裝、開發及部署全解

來源:互聯網
上載者:User
一、 Qt 嵌入式環境的搭建

a)        首先,下載 Qt 的嵌入式開發包 qt-embedded-wince-opensource-src-4.4.0.zip

b)        然後,下載 VS2005 。

c)        最後,下載一個嵌入式開發的 SDK ,如 Windows Mobile 5.0 Pocket PC SDK, 可以在微軟的官方網站上下載到!

d)        還有一個是同步的軟體 Microsoft ActiveSync4.5 中文簡體版。

------------------------------------------ 安 ---- 裝 ----------------------------------
e)        首先安裝 VS2005 ,很簡單,按照嚮導來,在自訂安裝中務必選擇“智慧型裝置開發”。

f)          關於 Microsoft ActiveSync4.5 的安裝更是“ straightforward ”。在此不再多說!

g)        然後,安裝 Windows Mobile 或是其它版本的 SDK ,可以用自訂的 SDK! 簡單

h)        比較麻煩的就是 qt-embedded-wince 的安裝。參照下面的步驟:①、解壓,將解壓後的檔案夾放到一個不含空格的路徑中,如我的: f:\penguinx\qt_wince , qt_wince 即為此檔案夾。然後設定環境變數:右鍵“我的電腦”- > “屬性”- > 點“進階”標籤- > “環境變數”選項- > 在 "PATH" 中添加路徑“ f:\penguinx\qt_wince \ bin ”。 OK !②編譯前戲。首先,配置編譯選項,進行 VS2005 的命令列中,進入解壓的檔案夾,然後執行如下: configure -platform win32-msvc2005 -xplatform wince50standard-armv4i-msvc2005 可以根據自己的板子及手機配置來選擇其它的嵌入式的 xplatfrom 。這個過程可能需要十幾分鐘。執行完後,再次在 VS2005 中設定臨時的環境變數,編譯時間要用到:如下:

      set INCLUDE=D:\Program Files\Microsoft Visual Studio 8\VC\ce\include;D:\Program Files\Windows CE Tools\wce500\Windows Mobile 5.0 Pocket PC SDK\Include\Armv4i

      set LIB=D:\Program Files\Microsoft Visual Studio 8\VC\ce\lib\armv4i;D:\Program Files\Windows CE Tools\wce500\Windows Mobile 5.0 Pocket PC SDK\Lib\ARMV4I

      set PATH=D:\Program Files\Microsoft Visual Studio 8\VC\ce\bin\x86_arm;%PATH%

              在此我期望能根據自己的軟體安裝情況將上面的目錄“拿來主義”一下。設 置完後,執行 nmake ,過兩、三個鐘頭後,你就可以 Enjoy your journey.

最後,執行nmake,安裝完畢!我的Qt-WinCE安裝在  f:\penguinx\qt_wince


二、編譯Qt-WinCE程式

命令列法 ( 不用 IDE) :

首先、用 VS2005 命令列進入要編譯的程式目錄 ( 此目錄最好就在安裝目錄 f:\penguinx\qt_wince 下 ) ,執行 < f:\penguinx\qt_wince >bin\qmake.exe –project –o example.pro  其中, Install Qt Path 為你的 Qt-WinCE 的安裝目錄。這個時候,可以產生 example.pro 檔案。

然後、就是產生 Makefile 的時候:在 VS2005 命令列下輸入:

f:\penguinx\qt_wince\bin\qmake -spec ..\mkspecs\wince50standard-armv4i-msvc2005 -win32 -o Makefile example.pro 此時,恭喜你, Makefile 檔案已經產生。

      最後,就是用 nmake 來編譯和連結程式了。先將安裝時的環境變數 ( 三個 set) 在當前 VS2005 命令列下重新執行一遍。否則會出現如下錯誤:

cl: 命令列 warning D9002 : 忽略未知選項“ -QRarch4T ”

cl: 命令列 warning D9002 : 忽略未知選項“ -QRinterwork-return ”

main.cpp

mainwindow.cpp

f:\penguinx\qt_wince\include\qtgui\http://www.cnblogs.com/src/gui/widgets/qmenu.h(144) : error C2

146: 語法錯誤 : 缺少“ ; ” ( 在標識符“ wceMenu ”的前面 )

f:\penguinx\qt_wince\include\qtgui\http://www.cnblogs.com/src/gui/widgets/qmenu.h(144) : error C4

430: 缺少類型說明符 - 假定為 int 。注意 : C++ 不支援預設 int

f:\penguinx\qt_wince\include\qtgui\http://www.cnblogs.com/src/gui/widgets/qmenu.h(144) : error C4

430: 缺少類型說明符 - 假定為 int 。注意 : C++ 不支援預設 int

f:\penguinx\qt_wince\include\qtgui\http://www.cnblogs.com/src/gui/widgets/qmenu.h(144) : warning

C4183: “ wceMenu ” : 缺少傳回型別;假定為返回“ int ”的成員函數。

然後,執行 nmake ,看著一行的白銀流失完後,就是金子 ( 你的 exe 檔案 ) 了。

注意:在執行 nmake 的時候,可能會看到如下錯誤資訊:

        link /LIBPATH:"f:\penguinx\qt_wince\lib" /LIBPATH:"f:\penguinx\qt_wince\

lib" /NOLOGO /NODEFAULTLIB:OLDNAMES.LIB /DEBUG /SUBSYSTEM:WINDOWSCE,5.00 /MACHIN

E:THUMB /OUT:debug\node.exe @C:\DOCUME~1\User\LOCALS~1\Temp\nm6B3.tmp

tmp\obj\debug_shared\main.obj : fatal error LNK1112: 模組電腦類型“ X 86 ” 與目標

電腦類型“ THUMB ”衝突

NMAKE : fatal error U1077: “"D:\Program Files\Microsoft Visual Studio 8\VC\ce\b

in\x86_arm\link.EXE" ” : 傳回碼“ 0x 458 ”

      這種錯誤搞的我很無奈,我不執行 nmake ,直接執行 nmake release 就沒有這種錯誤?這種錯誤可能是因為“環境變數”中“ PATH ”中設定了“ f:\penguinx\qt_wince\bin ”。在我把這個變數去掉後,重新開啟 VS2005 命令列 ( 因為得重新讀取 PATH 變數 ) 。然後按照上面的步驟做下來,最後用 nmake 重新執行一遍,很好很流暢!

三、 Qt –WinCE 程式的部署(非打包)

      可以直接把上面開發的 *.exe 檔和其需要的 *.dll 一起 CP 到一個目錄中,這些 dll 一般有:

D:\Program Files\Microsoft Visual Studio 8\VC\ce\Dll\armv4i\ msvcr80.dll

F:\penguinx\wince_vs2005\lib\ QtCore4.dll

F:\penguinx\wince_vs2005\lib\QtGui4.dll

其它的根據自己項目的需要 CP 下,就行了。

      如果想將程式部署成 *.cab 形式的,在上面的“解決方案”中,點“檔案”- > “建立”- > “項目”- > 點“其它”,其中有關於智慧型裝置部署的,就它了 ( 我在實驗室機子上開發的,回來寫手記,所以具體的操作記的不是非常清楚,將就! ) 。根據嚮導建立後,在建立的 cab 項目中點“屬性”,最後,產生就行了。 CP 到板子就可以運行了。

注意:所有的 CP 都是用 ActiveSync 軟體通過 USB 傳輸的,當然可以用其它傳輸手段,最終能上板子就行。

-Zm200 -w34100 -w34189 -Zm200 -w34100 -w34189 -w34100 -w34189

注意在 WinCE 部署時的版本,如果裝置上的 WinCE 版本比開發用的版本低的話,將顯示“ ****, 需要更新的 Windows 版本”云云。

/SUBSYSTEM:WINDOWSCE,5.00 /MACHINE:THUMB

/SUBSYSTEM:WINDOWSCE,5.00 /MACHINE:THUMB

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.