QT 5.4.1 for Android Windows环境搭建

摘要:
:)2.安装jdk:将不解释此部分。上网自己找。:)3.安装sdk:我觉得这只是一个解压过程,就像安装一样;4.解开ndk和ant的拉链。
QT 5.4.1 for Android Windows环境搭建

2015-5-13

 

 

  目录

一、参考文章: 

二、准备软件: 

三、安装准备好的软件: 

四、配置Qt 5.4.1 for Android 

五、解决 Creator Qt Quick 模拟层已崩溃 

六、解决没有 kit selection(构建套件(Kit) 

七、解决编译出错:系统找不到指定的文件

八、友情提示:  

一、参考文章:

    1. windowsQt5.1 for android开发环境配置

        http://www.cnblogs.com/rophie/p/3226543.html

    2. Creator Qt Quick 模拟层已崩溃

        http://www.qtcn.org/bbs/simple/?t58504.html

    3. Qt开发环境下载和安装

        http://wenku.baidu.com/view/4e7d7f415a8102d276a22f88

二、准备软件:

    1. Qt 5.4.1 for Android (Windows 32-bit, 939 MB) (info)

        http://www.qt.io/download-open-source/#section-2

    2. ndkhttp://developer.android.com/tools/sdk/ndk/index.html

    3. sdkhttp://developer.android.com/sdk/installing/index.html

    4. jdkhttp://www.oracle.com/technetwork/java/javase/downloads/java-se-jdk-7-download-432154.html

    5. anthttp://ant.apache.org/bindownload.cgi

三、安装准备好的软件:

    1. Qt 5.4.1 for Android:

        注意选择组件的时候把这些功能选上,经验告诉本人是要选上的,因为都是我们要用的。 :)

 QT 5.4.1 for Android Windows环境搭建第1张

    2. 安装jdk:这部分不解释,自己到网上去找吧。 :)

    3. 安装sdk:个人感觉只是个解压过程,像是安装的样子;

    4. 解压出ndkant

四、配置Qt 5.4.1 for Android

    1. 运行自带QT Creator,菜单中选择【工具】-->【选项】-->Android,配置如下:

QT 5.4.1 for Android Windows环境搭建第2张

    2. 请注意本人因为使用了64位的ndk,后面会导致一些问题,如果你使用的是32位的ndk,有些问题可能不会出现。

五、解决 Creator Qt Quick 模拟层已崩溃

    1. 阅读参考文章2链接内容;

    2. 下载最新版本的:Qt Creator 3.4.0 for Windows (71 MB) (info)

        http://www.qt.io/download-open-source/#section-2

    3. 安装Qt Creator 3.4.0后运行,提示缺少python2.7的库文件,如果这里没有提示,

        在后续操作中的时候也会提示;

    3. 由于Qt Creator 3.4.0版本需要ndk支持提供更多的功能,所以需要额外下载对应平台下的补丁:

        http://download.qt.io/official_releases/gdb/

    4. 解压补丁包,和原来ndk中的文件夹对比,将对应的东西放入对应的文件夹里;

    

六、解决没有 kit selection(构建套件(Kit)

    1. 主要是因为QT Creator没有检测到qmake.exe的原因,所以需要我们自己配置,以下是本人的qmake.exe路径,可以看出和前面安装的组建有关:

        1. D:QTinstall5.4android_armv5inqmake.exe

        2. D:QTinstall5.4android_armv7inqmake.exe

        3. D:QTinstall5.4mingw491_32inqmake.exe

    2. 配置如图:

QT 5.4.1 for Android Windows环境搭建第3张

    3. 查看kit selection( 构建套件(Kit) :

        观察图中的现象可以看出,我们只能使用4.9版本的编译器,ndk中有很多的样子,好像我们只能使用4.9版本的:

 QT 5.4.1 for Android Windows环境搭建第4张

七、解决编译错误:系统找不到指定的文件

    1. 出错信息:

D: dkandroid-ndk-r10d/toolchains/arm-linux-androideabi-4.9/prebuilt/windows/bin/arm-linux-androideabi-g++ -c -Wno-psabi -march=armv5te -mtune=xscale -msoft-float -ffunction-sections -funwind-tables -fstack-protector -fno-short-enums -DANDROID -Wa,--noexecstack -fno-builtin-memmove -std=gnu++0x -g -g -gdwarf-2 -marm -O0 -fno-omit-frame-pointer -Wall -Wno-psabi -W -D_REENTRANT -fPIE -DQT_QML_DEBUG -DQT_DECLARATIVE_DEBUG -DQT_QUICK_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I..helloworld -I. -ID:QTinstall5.4android_armv5include -ID:QTinstall5.4android_armv5includeQtQuick -ID:QTinstall5.4android_armv5includeQtWidgets -ID:QTinstall5.4android_armv5includeQtGui -ID:QTinstall5.4android_armv5includeQtQml -ID:QTinstall5.4android_armv5includeQtNetwork -ID:QTinstall5.4android_armv5includeQtCore -I. -ID: dkandroid-ndk-r10dsourcescxx-stlgnu-libstdc++4.9include -ID: dkandroid-ndk-r10dsourcescxx-stlgnu-libstdc++4.9libsarmeabiinclude -ID: dkandroid-ndk-r10dplatformsandroid-9arch-armusrinclude -ID:QTinstall5.4android_armv5mkspecsandroid-g++ -o main.obj ..helloworldmain.cpp

makefile:798: recipe for target 'main.obj' failed

process_begin: CreateProcess(NULL, D: dkandroid-ndk-r10d/toolchains/arm-linux-androideabi-4.9/prebuilt/windows/bin/arm-linux-androideabi-g++ -c -Wno-psabi -march=armv5te -mtune=xscale -msoft-float -ffunction-sections -funwind-tables -fstack-protector -fno-short-enums -DANDROID -Wa,--noexecstack -fno-builtin-memmove -std=gnu++0x -g -g -gdwarf-2 -marm -O0 -fno-omit-frame-pointer -Wall -Wno-psabi -W -D_REENTRANT -fPIE -DQT_QML_DEBUG -DQT_DECLARATIVE_DEBUG -DQT_QUICK_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I..helloworld -I. -ID:QTinstall5.4android_armv5include -ID:QTinstall5.4android_armv5includeQtQuick -ID:QTinstall5.4android_armv5includeQtWidgets -ID:QTinstall5.4android_armv5includeQtGui -ID:QTinstall5.4android_armv5includeQtQml -ID:QTinstall5.4android_armv5includeQtNetwork -ID:QTinstall5.4android_armv5includeQtCore -I. -ID: dkandroid-ndk-r10dsourcescxx-stlgnu-libstdc++4.9include -ID: dkandroid-ndk-r10dsourcescxx-stlgnu-libstdc++4.9libsarmeabiinclude -ID: dkandroid-ndk-r10dplatformsandroid-9arch-armusrinclude -ID:QTinstall5.4android_armv5mkspecsandroid-g++ -o main.obj ..helloworldmain.cpp, ...) failed.

make (e=2): 系统找不到指定的文件。

mingw32-make: *** [main.obj] Error 2

14:45:10: 进程"D:QTinstallToolsmingw491_32inmingw32-make.exe"退出,退出代码 

Error while building/deploying project helloworld (kit: Android for armeabi (GCC 4.9, Qt 5.4.1))

When executing step "Make"

    2. 观察上文中红色的目录,确认目录是否存在,这里是因为我本人使用的是64位的ndk导致的,如果是32位的ndk,应该不会有这个问题;

    3. 解决方案:

        通过查看<你的ndk根目录>/toolchains/arm-linux-androideabi-4.9/prebuilt/(本人的目录:D: dkandroid-ndk-r10d/toolchains/arm-linux-androideabi-4.9/prebuilt/)发现windows目录不存在,结果只有windows-x86_64,于是机智且愚蠢的复制了windows-x86_64并重名为windows,在编译,通过,生成apk,并部署到了I.MX6上去了。 :)

    4. 于是我们可以通过分析可知,<你的ndk根目录>/toolchains目录包含了所有编译器,如果我们选择了其他的版本的编译器,出现类似情况,我们也许可以采用类似的方法解决。

八、友情提示:

    1. 从我们创建的项目中的kit selection中可以发现,在默认情况下我们只能使用arm-linux-androideabi-4.9的编译环境;

    2. 从最后的编译出错信息、解决方案可以看出:

        本人安装的64ndk并不提供arm-linux-androideabi-4.9 windos目录,也就是说使用Qt Creator 3.4.0配合QT for Android 5.4.1Android的开发,尽量使用32位的ndk,因为我们下的Qt 5.4.1 for Android (Windows 32-bit, 939 MB) (info)。 :)

    3. 其实我们通过kit selection( 构建套件(Kit) )中的手动设置选择其他的编译器,如果出现七中出现的编译出错,那么,请查看对应的编译需求目录,在不出错的情况下可以考虑上文中的解决方案。

免责声明:文章转载自《QT 5.4.1 for Android Windows环境搭建》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇倍福TwinCAT(贝福Beckhoff)常见问题(FAQ)-如何在同一台PC上运行多个TwinCAT程序openresty钉钉免密登陆下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

adb命令大全

基本用法 命令语法 adb 命令的基本语法如下: 1 adb [-d|-e|-s <serialNumber>] <command> 如果只有一个设备/模拟器连接时,可以省略掉[-d|-e|-s <serialNumber>]这一部分,直接使用adb <command>。 为命令指定目标设备 如果有多个设备...

安装配置管理 之 JRE 安装和配置,以适合JAVA程序运行所具备的环境

作者:北南南北来自: LinuxSir.Org提要: 本文主要讲述jre的安装和配置,以适合JAVA程序的运行;本文以 jre-1_5_0_04 版本为例; +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++正文+++++++++++++++++++++++++++++...

Android中实现TCP和UDP传输实例

TCP和UDP在网络传输中非常重要,在Android开发中同样重要。 首先我们来看一下什么是TCP和UDP。 什么是TCP? TCP:Transmission Control Protocol 传输控制协议TCP是一种面向连接(连接导向)的、可靠的、基于字节流的运输层(Transport layer)通信协议,由IETF的RFC 793说明(specifi...

Android合并文件的三种方式代码

amr格式的文件头是6字节,在进行文件合并的时候要减去除第一个文件以外的其他文件的文件头。下面介绍合并文件的几种方式,并通过合并amr文件来举例介绍合并文件的具体流程。 注意:不同文件的文件头是不一样的,所以在合并的时候根据不同文件相应的减去合并文件的文件头。具体你可以学习Android开发教程。 步骤一:获取要合并的文件及创建合并后保存的文件 /**用于...

[转]Android 操作SQLite基本用法

在Android开发中SQLite起着很重要的作用,网上SQLite的教程有很多很多,不过那些教程大多数都讲得不是很全面。本人总结了一些SQLite的常用的方法,借着论坛的大赛,跟大家分享分享的。一.SQLite的介绍1.SQLite简介SQLite是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入  式的,而且目前已经在很多嵌入...

Android调试工具及方法

转自:http://www.cnblogs.com/feisky/archive/2010/01/01/1637566.html Logcat Dump一份系统消息的日志。这些消息包括模拟器抛出错误时的堆栈跟踪。 Android Log 一个记录日志的类,用来将消息写入模拟器上的日志文件中。如果你在DDMS上运行logcat的话你可以就实时查看消息。在你的...