• <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>

            Welcome to ErranLi's Blog!

              C++博客 :: 首頁 :: 聯系 :: 聚合  :: 管理
              106 Posts :: 1 Stories :: 97 Comments :: 0 Trackbacks

            常用鏈接

            留言簿(12)

            搜索

            •  

            積分與排名

            • 積分 - 174946
            • 排名 - 151

            最新評論

            閱讀排行榜

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

            penguinx ? 發表于: 2008-07-31

            管理提醒:
            本帖被 XChinux 從 Qt for Embedded Linux 移動到本區(2010-02-07)
            Qt-WinCE 全解
            聲明: 花費了三天時間,周轉各大網站,終于在今天將自己的第一個 Qt 程序在“小 I(SAMSUNG i718+) ”上跑了起來!



            一、 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 ?、诰幾g前戲。首先,配置編譯選項,進行 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\../../src/gui/widgets/qmenu.h(144) : error C2

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

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

            430: 缺少類型說明符 - 假定為 int 。注意 : C++ 不支持默認 int

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

            430: 缺少類型說明符 - 假定為 int 。注意 : C++ 不支持默認 int

            f:\penguinx\qt_wince\include\qtgui\../../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



            posted on 2010-06-18 10:16 erran 閱讀(1020) 評論(0)  編輯 收藏 引用 所屬分類: QT
            一本色综合网久久| 麻豆av久久av盛宴av| 国产成人精品久久二区二区| 久久精品国产亚洲欧美| 久久久久亚洲精品中文字幕| 中文字幕无码久久久| 久久青青草原精品国产| 久久久久无码国产精品不卡| 久久综合给久久狠狠97色| 91精品国产高清久久久久久91| 中文字幕无码av激情不卡久久| 久久久无码精品亚洲日韩按摩| 久久这里只有精品久久| 区久久AAA片69亚洲| 久久国产精品久久精品国产| 久久婷婷是五月综合色狠狠| 91精品国产91热久久久久福利| 伊人久久精品无码av一区| 久久涩综合| 久久婷婷久久一区二区三区| 亚洲日本va中文字幕久久| 久久久久亚洲AV无码专区网站| 97久久精品人妻人人搡人人玩 | 伊人伊成久久人综合网777| 人妻精品久久久久中文字幕一冢本| 久久精品成人欧美大片| 色综合久久久久| 久久r热这里有精品视频| 久久大香香蕉国产| 亚洲va久久久噜噜噜久久| 亚洲v国产v天堂a无码久久| 国产亚洲美女精品久久久| 久久久久久久综合日本亚洲| 2020久久精品国产免费| 久久AV高清无码| 久久精品国产亚洲av水果派| 综合人妻久久一区二区精品| 久久精品国产2020| 看久久久久久a级毛片| 久久久久免费看成人影片| 欧美一区二区三区久久综|