<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Qt for Android開發(fā)環(huán)境搭建及測(cè)試過程記錄

      最近學(xué)習(xí)了Qt的QML編程技術(shù),感覺相較于以前的QtGUI來說更方便一些,使用QML可以將界面與業(yè)務(wù)邏輯解耦,便于開發(fā)。
      QML支持跨平臺(tái),包括支持Android平臺(tái),因此可以使用Qt的QML進(jìn)行Android開發(fā)。本文記錄了Qt for Android環(huán)境搭建及測(cè)試過程。

      本文使用Qt 5.6.1版本。

      1. 下載Qt for Android

      Qt for Android (5.6.1)安裝包下載地址:http://download.qt.io/archive/qt/5.6/5.6.1/qt-opensource-windows-x86-android-5.6.1.exe

      2. 安裝Android依賴環(huán)境

      參考Qt for Android官方網(wǎng)站:Getting Started with Qt for Android | Qt 5.7,可知需要安裝如下幾項(xiàng):

      • Android SDK (包括Android SDK Tools和Android Debug Bridge(ADB))
      • Android NDK
      • Apache Ant v1.8 or later
      • Java SE Development Kit (JDK) v6 or later

      于是,我安裝了如下幾項(xiàng):

      3. 安裝Qt for Android

      如果之前沒有安裝過Qt 5.6.1的任何平臺(tái)版本(包括VS2015、VS2013等),則可以直接雙擊運(yùn)行qt-opensource-windows-x86-android-5.6.1.exe,按提示進(jìn)行安裝即可。

      但如果之前安裝過Qt 5.6.1,比如我之前安裝了Qt 5.6.1 VS2010 x86,安裝目錄下的結(jié)構(gòu)如下:

      1. D:\ProgramFiles\Qt\5.6.1
      2. ├─5.6
      3. ├─msvc2010_x86
      4. └─Src
      5. ├─Docs
      6. ├─Examples
      7. ├─Tools
      8. └─……(其他不重要的目錄或文件)

      我又在虛擬機(jī)里測(cè)試安裝了一下qt-opensource-windows-x86-android-5.6.1.exe,得到的目錄結(jié)構(gòu)如下:

      1. D:\ProgramFiles\Qt\5.6.1
      2. ├─5.6
      3. ├─android_armv7
      4. ├─android_x86
      5. ├─mingw49_32
      6. └─Src
      7. ├─Docs
      8. ├─Examples
      9. ├─Tools
      10. └─mingw492_32
      11. └─……(其他不重要的目錄或文件)

      從上面兩個(gè)目錄結(jié)構(gòu)的對(duì)比中可以看出,Qt 5.6.1在不同編譯平臺(tái)下的安裝文件的區(qū)別就在于5.6目錄下和Tools目錄下的對(duì)應(yīng)內(nèi)容。

      于是,我將虛擬機(jī)中的5.6\android_armv75.6\android_x865.6\mingw49_32Tools\mingw492_32這幾個(gè)文件夾復(fù)制到主機(jī)中安裝了Qt 5.6.1 VS2010的對(duì)應(yīng)目錄下。現(xiàn)在匯總的目錄結(jié)構(gòu)如下:

      1. D:\ProgramFiles\Qt\5.6.1
      2. ├─5.6
      3. ├─android_armv7
      4. ├─android_x86
      5. ├─mingw49_32
      6. ├─msvc2010_x86
      7. └─Src
      8. ├─Docs
      9. ├─Examples
      10. ├─Tools
      11. └─mingw492_32
      12. └─……(其他不重要的目錄或文件)

      其中Tools\mingw492_32目錄相當(dāng)于MinGW編譯器的安裝目錄,需要將Tools\mingw492_32\bin的絕對(duì)路徑添加到系統(tǒng)Path環(huán)境變量中,否則后面Qt Creator會(huì)找不到mingw32-make.exe文件。

      OK,到這里就算安裝完成了。

      4. 后續(xù)配置

      安裝完之后,就是在Qt Creator中配置Qt路徑了,比較簡(jiǎn)單,就不再贅述了。

      我的電腦上配置完之后如下(在Qt Creator中選擇"工具"->"選項(xiàng)"來查看):



      5. 測(cè)試

      打開Qt Creator,新建一個(gè)工程,配置如下:




      選擇構(gòu)建套件為Qt 5.6.1(即VS2010平臺(tái)),點(diǎn)擊構(gòu)建按鈕,成功構(gòu)建。
      再點(diǎn)擊運(yùn)行按鈕,成功運(yùn)行可以看到一個(gè)Hello World界面:

      然后選擇構(gòu)建套件為Android for armeabi-v7a (GCC 4.9, Qt 5.6.1)(即Android平臺(tái)),點(diǎn)擊構(gòu)建按鈕,成功構(gòu)建。

      此時(shí)可能會(huì)出現(xiàn)如下錯(cuò)誤:

      1. Execute failed: java.io.IOException: Cannot run program${aapt}": error=2, No such file or directory

      解決辦法參考:android - ant jar error: Execute failed: …… - Stack Overflow

      Have you updated the Android SDK tools to 24.3.2? This seems to have caused the issue. Add following 4 lines to android-sdk-path/tools/ant/build.xml starting line 484 and hopefully it should solve.

      1. <property name="aidl" location="${android.build.tools.dir}/aidl${exe}" />
      2. <property name="aapt" location="${android.build.tools.dir}/aapt${exe}" />
      3. <property name="dx" location="${android.build.tools.dir}/dx${bat}" />
      4. <property name="zipalign" location="${android.build.tools.dir}/zipalign${exe}" />

      于是,用文本編輯器打開D:\ProgramFiles\Android\sdk\tools\ant\build.xml,在第484行處添加上面幾行內(nèi)容,保存。

      重新點(diǎn)擊Qt Creator的構(gòu)建按鈕,又出現(xiàn)了如下錯(cuò)誤:

      1. 02:23:45: 正在啟動(dòng) "D:\ProgramFiles\Qt\5.6.1\Tools\mingw492_32\bin\mingw32-make.exe" "INSTALL_ROOT=D:/ProgramData/QtCreatorProjects/AndroidTest/build-AndroidTest-Android_for_armeabi_v7a_GCC_4_9_Qt_5_6_1-Debug/android-build" install
      2. cp -f libAndroidTest.so D:/ProgramData/QtCreatorProjects/AndroidTest/build-AndroidTest-Android_for_armeabi_v7a_GCC_4_9_Qt_5_6_1-Debug/android-build/libs/armeabi-v7a/libAndroidTest.so
      3. makefile:820: recipe for target 'install_target' failed
      4. process_begin: CreateProcess(NULL, cp -f libAndroidTest.so D:/ProgramData/QtCreatorProjects/AndroidTest/build-AndroidTest-Android_for_armeabi_v7a_GCC_4_9_Qt_5_6_1-Debug/android-build/libs/armeabi-v7a/libAndroidTest.so, ...) failed.
      5. make (e=2): 系統(tǒng)找不到指定的文件。
      6. mingw32-make: [install_target] Error 2 (ignored)

      注意到上面有一行命令是cpcp是Linux系統(tǒng)中的復(fù)制命令,在Windows系統(tǒng)中對(duì)應(yīng)的是copy,問題就出在這兒。

      查看該工程Android平臺(tái)build目錄(build-AndroidTest-Android_for_armeabi_v7a_GCC_4_9_Qt_5_6_1-Debug)下的Makefile,發(fā)現(xiàn)里面有下面這段內(nèi)容:

      1. COPY = cp -f
      2. COPY_FILE = cp -f
      3. COPY_DIR = cp -f -R

      而在VS2010平臺(tái)build目錄(build-AndroidTest-Qt_5_6_1-Debug)下的Makefile中的對(duì)應(yīng)內(nèi)容為:

      1. COPY = copy /y
      2. COPY_FILE = copy /y
      3. COPY_DIR = xcopy /s /q /y /i

      對(duì)比其中的cpcopy兩個(gè)命令,可以由此確定是因?yàn)闃?gòu)建套件Android for armeabi-v7a (GCC 4.9, Qt 5.6.1)(即Android平臺(tái))生成的Makefile是只適用于Linux平臺(tái)的。
      (注:我試過在"工具"->"選項(xiàng)"中修改該構(gòu)建套件生成的Makefile的類型,但是不管選擇哪種Makefile類型,生成的Makefile中都是cp而不是copy。)

      于是考慮在Windows系統(tǒng)中搭建虛擬Linux環(huán)境。

      MSYS可以解決我的這個(gè)問題!

      MSYS,即Minimal GNU(POSIX)system on Windows,是一個(gè)小型的GNU環(huán)境,包括基本的bash,make等等。與Cygwin大致相當(dāng)。

      于是下載MSYS,安裝,然后將其bin路徑添加到系統(tǒng)Path環(huán)境變量中。

      再次點(diǎn)擊Qt Creator的構(gòu)建按鈕,OK,成功構(gòu)建!

      最后點(diǎn)擊運(yùn)行,可以選擇安裝到Android模擬器或是真機(jī),安裝apk后可以看到和Windows平臺(tái)上界面類似的Android界面:




      到此,Qt for Android開發(fā)環(huán)境搭建以及測(cè)試全部完成!





      posted @ 2016-10-21 16:38  陪你仰望星空  閱讀(16036)  評(píng)論(0)    收藏  舉報(bào)
      主站蜘蛛池模板: 亚洲av无码专区在线厂| 国产一区二区三区在线看| 国产网友愉拍精品视频手机| 无码人妻丰满熟妇啪啪| 99久久成人亚洲精品观看| 日韩中文字幕人妻一区| 欧美牲交a欧美牲交aⅴ图片 | 任我爽精品视频在线播放| 四虎成人精品国产永久免费| 亚洲精品无码你懂的网站| 亚洲av午夜成人片| 久久国产精品老人性| 91亚洲人成手机在线观看| 广德县| 视频一区视频二区亚洲视频| gogo无码大胆啪啪艺术| 无码中文字幕乱码一区| 国产av黄色一区二区三区| 亚洲熟妇乱色一区二区三区| 1024你懂的国产精品| 国产无遮挡无码视频在线观看| 国产自拍偷拍视频在线观看| 四虎成人精品永久网站| 亚洲第一极品精品无码久久| 国产亚洲av手机在线观看| 忘忧草影视| 2019国产精品青青草原| 久久人人妻人人爽人人爽| 久久99精品中文字幕在| 国产盗摄xxxx视频xxxx| 污网站在线观看视频| 亚洲国产欧美一区二区好看电影| 欧洲lv尺码大精品久久久| 久久婷婷五月综合色和啪| 日韩有码av中文字幕| 中国凸偷窥xxxx自由视频| 国产互换人妻xxxx69| 亚洲午夜无码久久久久蜜臀av | 人妻中文字幕不卡精品| 精品少妇后入一区二区三区| 99久久99久久久精品久久|