• <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 - 54, comments - 32, trackbacks - 0, articles - 0

            QT_VS2005_CE6.0_開發環境架設

            Posted on 2019-03-08 14:30 宋鵬 閱讀(721) 評論(0)  編輯 收藏 引用 所屬分類: Qt

            《QT_VS2005_CE6.0_開發環境架設》
            1、基礎環境:
            操作系統:Windows XP
            編譯器:(1)VS2005 VC環境 (2)VS2005 SP1
            (SP1 必須有,以提供CE平臺的支持,沒有的話,Arm Emulator的程序編譯不過,模擬器也報錯“EmulatorStub.exe嚴重錯誤”)
            QT版本:qt-everywhere-opensource-src-4.8.6.zip
            CE SDK:ARM Emulator

            2、安裝步驟:
            (1)把QT源碼解壓到E:\QT\4.8.6\CE6.0\Emulator
            Tim:個人推薦根目錄,不帶任何下劃線、空格等幺蛾子,防止出錯。。
            Tim:絕對不能帶下劃線
            公司電腦上的目錄,起名帶個下劃線"4.8.6_ArmEmulator",結果VS2005創建工程失敗,說缺少平臺支持。。
            Tim:也最好位于C盤,我把家里電腦的編譯版本,放到公司電腦的C盤,創建項目成功,原來的公司版本在E盤,會失敗。。不知道是不是錯覺。。
            (2)進入“Visual Studio 2005 命令提示”
            位置是“開始菜單->所有程序->Microsoft Visual Studio 2005->Visual Studio Tools->Visual Studio 2005 命令提示”。。
            然后切換到編譯目錄:E:\QT\4.8.6\CE6.0\Emulator
            (3)執行以下命令:
            configure -platform win32-msvc2005 -xplatform wince60standard-armv4i-msvc2005
            ①如果想節省時間,部分編譯:
            [-debug-and-release] 編譯和鏈接兩個版本的Qt
            [-nomake examples]
            [-nomake demos]
            [-nomake docs]
            [-no-multimedia]
            [-no-phonon]
            [-no-phonon-backend] 
            [-no-media-backend]
            [-no-audio-backend] 
            [-no-openssl]
            [-no-gtkstyle]
            [-no-svg]
            [-no-webkit]  是否編譯Web相關的一些QT子庫,加上這個可以省不少編譯時間,就看你是否準備用這些庫了。
            [-no-javascript-jit] 
            [-no-script]
            [-no-scripttools] 
            [-no-sql-sqlite]
            [-no-declarative]
            [-no-declarative-debug]
            Tim:以上可選項均未試驗。。
            Tim:
            又抄來一個編譯WIN32 VS2005設置的:
            configure -fast -platform win32-msvc2005  -nomake examples -nomake docs -nomake demos -no-webkit -no-phonon -no-phonon-backend -no-multimedia
            Tim:
            4.8.6版的,不管怎么編譯,都會出錯。。
            ①第一個錯誤,修改如下:
            qclipboard_win.cpp 第306行:
            把出錯的CheckRemoteDebuggerPresent,通過版本判斷的方式,不編譯進來。。
            #if defined(_MSC_VER) && _MSC_VER <= 1400
                return false;
            #else
            ........................
                CheckRemoteDebuggerPresent(processHandle, &debugged);
            #endif
            ②第二個錯誤:
            繼續 nmake 遇到第二個錯誤
                 platform\DefaultLocalizationStrategy.cpp(327) : error C2001: newline in constant
                 platform\DefaultLocalizationStrategy.cpp(327) : fatal error C1057: unexpected end of file in macro expansion
                 這個錯誤的原因是因為代碼里面的非英文的引號造成的。
                原始的錯誤代碼如下:
                 return WEB_UI_STRING("Look Up “<selection>”", "Look Up context menu item with selected word").replace("<selection>", truncatedStringForLookupMenuItem(selectedString));
                 大家注意 <selection> 單詞前后的引號。就是它造成編譯報錯。修改成下面的代碼
                return WEB_UI_STRING("Look Up \"<selection>\"", "Look Up context menu item with selected word").replace("<selection>", truncatedStringForLookupMenuItem(selectedString));
            Tim:也就是將selection兩側的中文引號那里改成上文的樣子,。。奇怪老外也用這種引號么。。
            (4)configure之后設置環境變量:
            ①使用Arm Emulator:
            set INCLUDE=C:/Program Files/Microsoft Visual Studio 8/VC/ce/include;C:\Program Files\Windows CE Tools\wce600\ARM_Emulator\Include\Armv4i
            set LIB=C:/Program Files/Microsoft Visual Studio 8/VC/ce/lib/armv4i;C:/Program Files/Windows CE Tools/wce600/ARM_Emulator/Lib/armv4i
            set PATH=C:/Program Files/Microsoft Visual Studio 8/VC/ce/bin/x86_arm;%PATH%
            ②如果使用S2416的SDK:
            set INCLUDE=C:/Program Files/Microsoft Visual Studio 8/VC/ce/include;C:\Program Files\Windows CE Tools\wce600\SBC2416\Include\Armv4i
            set LIB=C:/Program Files/Microsoft Visual Studio 8/VC/ce/lib/armv4i;C:/Program Files/Windows CE Tools/wce600/SBC2416/Lib/armv4i
            set PATH=C:/Program Files/Microsoft Visual Studio 8/VC/ce/bin/x86_arm;%PATH%
            執行:
            nmake
            Tim:我下載的源碼4.8.6在configure之后,出現讓直行:setcepaths.bat wince600standard-armv4i-msvc2005 && nmake的提示,我估計不用設置上述環境變量,也有可能可以成功編譯,但不冒那個險,直接按照文章推薦的步驟來。。
            Tim:我運行setcepaths.bat,結果沒有那個SDK只有wincewm60standard-armv4i-msvc2005,而且那個BAT里面,只是運行了check sdk的動作。。所以結論是按照推薦文章指定SDK的路徑,nmake應該就可以。。
            Tim:用作者的方案,Nmake編譯成功。。
            (5)安裝qt-vs-addin:
            安裝“qt-vs-addin-1.1.10.exe”。。
            Tim:“qt-vs-addin-1.2.0-opensource.exe ,就開始不支持VS2005。。”無語。。
            (6)修改SDK的名稱:
            編輯" C:\QT\CE6.0\4.8.6\mkspecs\wince60standard-armv4i-msvc2005\qmake.conf "。。
            將里面的
            CE_SDK  = STANDARDSDK_600
            變更為
            CE_SDK  = ARM_Emulator
            Tim:因為原始編譯的SDK環境,它名稱叫做"wince600standard-armv4i-msvc2005",Arm Emulator的庫跟這個環境也是一樣的,但是名稱不一樣,Qt插件會報錯。。
            (7)包含環境變量:
            ①Arm_Emulator的話:
            在VS2005 -> Tool -> Options -> VC++ Directories -> Arm_Emulator里面:
            Include增加:" C:\QT\4.8.6\CE6.0\Emulator\include "。。
            Library增加:" C:\QT\4.8.6\CE6.0\Emulator\lib " 。。
            Tim:我一開始就沒包含,結果編譯別人的代碼,報錯沒有" QtSql "。。
            ②WIN32編譯的話:
            在VS2005 -> Tool -> Options -> VC++ Directories -> Win32里面:
            Include增加:" C:\QT\4.8.6\WIN32\include "。。
            Library增加:" C:\QT\4.8.6\WIN32\lib " 。。
            Tim:
            為了讓Visual Assist更好的識別QT的函數名、類名,最好在VS2005里面多添加一些目錄如:
            C:\QT\4.8.6\WIN32\src
            C:\QT\4.8.6\WIN32\include\Qt
            C:\QT\4.8.6\WIN32\include\QtCore
            C:\QT\4.8.6\WIN32\include\QtGui
            (8)開啟Arm Emulator:
            Tool -> Connect to Device -> Arm Emulator Device。。
            (9)新建一個QT工程,編譯、運行:
            開啟VS2005 -> File -> New -> Project -> Qt4 Projects -> Qt Window CE Application -> 都選默認設置,然后編譯、部署、執行,最后成功在Arm Emulator里面彈出個對話框來(OK)。。
            Tim:看到部署的時候,用了VS2005的庫(msvcr80d.dll),還有QT的兩三個庫(QtCored4.dll、QtGuid4.dll什么的)。。
            (10)編輯*.ui文件,設計界面:
            安裝" qt-creator-opensource-windows-x86-3.3.0.exe ",才能打開" *.ui "文件,從而變更界面。。
            Tim:看了下.ui文件其實是一個xml結構的文檔。。
            Tim:
            " qt-creator-opensource-windows-x86-3.0.0.exe " Based on Qt5.2.0 ( MSVC2010,32 bit )。。
            " qt-creator-opensource-windows-x86-3.3.0.exe " Based on Qt5.4.0 ( MSVC2010,32 bit )。。。。







            久久精品人人槡人妻人人玩AV | 94久久国产乱子伦精品免费 | 91精品国产综合久久久久久| 日日噜噜夜夜狠狠久久丁香五月| 久久久老熟女一区二区三区| 久久综合九色综合久99| 热久久最新网站获取| 久久精品欧美日韩精品| 一本色综合久久| 久久综合久久久| 久久久噜噜噜久久中文字幕色伊伊| 999久久久无码国产精品| 亚洲欧美久久久久9999| 久久777国产线看观看精品| 97香蕉久久夜色精品国产| 国产伊人久久| 成人久久精品一区二区三区 | 久久综合88熟人妻| 性做久久久久久免费观看| 国内精品久久国产大陆| 亚洲va国产va天堂va久久| 少妇久久久久久被弄到高潮 | 国产偷久久久精品专区| 久久久久久一区国产精品| 99久久久精品| 久久国产精品无码HDAV | 久久国产精品国产自线拍免费| 合区精品久久久中文字幕一区| 久久99国产精品久久99果冻传媒| 人妻无码αv中文字幕久久琪琪布| 久久精品成人欧美大片 | 看久久久久久a级毛片| 国产精品久久久久蜜芽| 久久亚洲精品国产精品婷婷| 久久婷婷人人澡人人| 久久久久久无码国产精品中文字幕| 丁香五月综合久久激情| 激情综合色综合久久综合| 国产精品久久久久一区二区三区 | 亚洲国产精品无码久久久秋霞2| 国产成人久久精品一区二区三区|