QT 5.4.1 for Android Windows环境搭建

2015-5-13

目录

一、参考文章:

二、准备软件:

三、安装准备好的软件:

四、配置Qt 5.4.1 for Android

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

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

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

八、友情提示:

一、参考文章:

1. windows下Qt5.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. ndk:http://developer.android.com/tools/sdk/ndk/index.html

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

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

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

三、安装准备好的软件:

1. Qt 5.4.1 for Android:

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

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

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

4. 解压出ndk、ant。

四、配置Qt 5.4.1 for Android

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

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:\QT\install\5.4\android_armv5\bin\qmake.exe

2. D:\QT\install\5.4\android_armv7\bin\qmake.exe

3. D:\QT\install\5.4\mingw491_32\bin\qmake.exe

2. 配置如图:

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

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

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

1. 出错信息:

D:\ndk\android-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:\QT\install\5.4\android_armv5\include -ID:\QT\install\5.4\android_armv5\include\QtQuick -ID:\QT\install\5.4\android_armv5\include\QtWidgets -ID:\QT\install\5.4\android_armv5\include\QtGui -ID:\QT\install\5.4\android_armv5\include\QtQml -ID:\QT\install\5.4\android_armv5\include\QtNetwork -ID:\QT\install\5.4\android_armv5\include\QtCore -I. -ID:\ndk\android-ndk-r10d\sources\cxx-stl\gnu-libstdc++\4.9\include -ID:\ndk\android-ndk-r10d\sources\cxx-stl\gnu-libstdc++\4.9\libs\armeabi\include -ID:\ndk\android-ndk-r10d\platforms\android-9\arch-arm\usr\include -ID:\QT\install\5.4\android_armv5\mkspecs\android-g++ -o main.obj ..\helloworld\main.cpp

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

process_begin: CreateProcess(NULL, D:\ndk\android-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:\QT\install\5.4\android_armv5\include -ID:\QT\install\5.4\android_armv5\include\QtQuick -ID:\QT\install\5.4\android_armv5\include\QtWidgets -ID:\QT\install\5.4\android_armv5\include\QtGui -ID:\QT\install\5.4\android_armv5\include\QtQml -ID:\QT\install\5.4\android_armv5\include\QtNetwork -ID:\QT\install\5.4\android_armv5\include\QtCore -I. -ID:\ndk\android-ndk-r10d\sources\cxx-stl\gnu-libstdc++\4.9\include -ID:\ndk\android-ndk-r10d\sources\cxx-stl\gnu-libstdc++\4.9\libs\armeabi\include -ID:\ndk\android-ndk-r10d\platforms\android-9\arch-arm\usr\include -ID:\QT\install\5.4\android_armv5\mkspecs\android-g++ -o main.obj ..\helloworld\main.cpp, ...) failed.

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

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

14:45:10: 进程"D:\QT\install\Tools\mingw491_32\bin\mingw32-make.exe"退出,退出代码 2 。

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:\ndk\android-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. 从最后的编译出错信息、解决方案可以看出:

本人安装的64位ndk并不提供arm-linux-androideabi-4.9 windos目录,也就是说使用Qt Creator 3.4.0配合QT for Android 5.4.1做Android的开发,尽量使用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环境搭建的更多相关文章

  1. QT 5.1.1 for Android 开发环境搭建与配置【Windows 7】

    前言:本人操作系统为Windows7 64位,用的是32位的安装包,32位系统没有验证. 一.首先下载以下安装包,如果提供的链接失效请自行下载: (1) Android SDK (Windows 32 ...

  2. Qt for Android开发环境搭建及测试过程记录

    最近学习了Qt的QML编程技术,感觉相较于以前的QtGUI来说更方便一些,使用QML可以将界面与业务逻辑解耦,便于开发. QML支持跨平台,包括支持Android平台,因此可以使用Qt的QML进行An ...

  3. windows下Qt5.2 for android开发环境搭建

    windows下Qt5.2 forAndroid开发环境配置 1.下载安装Qt 5.2.0 for Android (Windows 32-bit)   http://qt-project.org/d ...

  4. 【转】Windows环境下Android NDK环境搭建

    原文网址:http://www.metsky.com/archives/525.html 前面介绍Windows下Android 开发环境配置,主要是面向JAVA开发环境,对只做APK上层应用开发人员 ...

  5. Android NDK r8 windows环境搭建

    Android NDK r8 windows环境搭建 一.默认基础环境为已经完成Android开发环境的搭建 需要的软件及插件 1. JDK-7u25 2. Eclipse 3. Android SD ...

  6. Windows环境下Android NDK环境搭建

    前面介绍Windows下Android 开发环境配置,主要是面向JAVA开发环境,对只做APK上层应用开发人员来讲,基本够用了,由于Linux系统的权限限制和Android封装架构限制,很多涉及底层设 ...

  7. windows下cocos2dx3.0开发环境及Android编译环境搭建

    cocos2dx更新到了3.x版本号,自己一直没有换,如今开发组要求统一换版本号,我就把搭建好开发环境的过程记录下来. 一.Windowns下开发环境搭建 1.  所需工具         1)coc ...

  8. Android Studio for windows环境搭建

    Android Studio环境搭建 个人博客 欢迎大家多多关注该独立博客:   csdn博客  一直想把自己的经验分享出来,记得上次写博客还是ok6410的笔记,感觉时代久远啊.记得那个时候我还一心 ...

  9. Java、Android 开发环境搭建

    一.准备工作 为便于管理,将java开发工具集中到一个文件夹中.创建D:\javaDevE文件夹,JDK.Android-SDK.Eclipse.tomcat等都可以安装到这个文件夹中. 二.搭建Ja ...

随机推荐

  1. 字典重复key的合并

    from collections import defaultdict d=defaultdict(set) s=[("001","A"),("001 ...

  2. 《剑指offer》第三十八题(字符串的排列)

    // 面试题38:字符串的排列 // 题目:输入一个字符串,打印出该字符串中字符的所有排列.例如输入字符串abc, // 则打印出由字符a.b.c所能排列出来的所有字符串abc.acb.bac.bca ...

  3. angular惰性加载拓展剖析

    最近把一个比较旧的业余项目重新升级了下,将主文件进行了剥离,增加了些惰性加载的配置,将过程中一些零散的知识点做个总结,同时尽量深入原理实现层面. 项目环境: 前端框架:angular2.0.0-bet ...

  4. Java基础-this关键字和构造方法(10)

    this关键字 方法被哪个对象调用,this就代表那个对象当局部变量隐藏成员变量时,使用this关键字(例如构造方法和访问器). 构造方法 构造方法作用概述 给对象的数据进行初始化 构造方法格式 方法 ...

  5. 用Javascript 实现倒计时

    用Javascript 实现倒计时<!DOCTYPE html> <html lang="en"> <head> <meta charse ...

  6. nyoj 1238(BFSor最短路)

    最少换乘 时间限制:2000 ms  |  内存限制:65535 KB 难度:3   描述 欧洲某城是一个著名的旅游胜地,每年都有成千上万的人前来观光旅行.Dr. Kong决定利用暑假好好游览一番.. ...

  7. UVA-1579 Matryoshka (区间DP)

    题目大意:n个俄罗斯套娃,都有相应的编号,每次可将两个相邻的套娃组合成一组,每次合成只能小的放到大的里面,并且是逐层嵌套.问将这n个套娃分成若干个组,并且每组都是编号从1开始的连续序列,最少需要几步. ...

  8. CodeForces 558B

    Description Amr has got a large array of size n. Amr doesn't like large arrays so he intends to make ...

  9. Oracle11g温习-第三章:instance实例管理

    2013年4月27日 星期六 10:30 1.instance 功能:   用于管理和访问database. 2.init parameter files :管理实例相关启动参数.位置:$ORACLE ...

  10. MyBatis:4

    转载:http://www.cnblogs.com/xrq730/p/5289638.html 什么是动态SQL MyBatis的一个强大特性之一通常是它的动态SQL能力.如果你有使用JDBC或其他相 ...