您的位置:首页 > 移动开发 > Android开发

下载编译 Qt 5 for Android 并新建工程

2016-01-18 23:44 465 查看
步骤详见: http://wiki.qt.io/Android

步骤1-4略

5.安装jdk1.6.0.45: /article/2421313.html

6.配置QT for Android,忽略不支持的模块:

(配置的参数位于QT源码根目录qt-everywhere-opensource-src-5.5.0/qtbase/configure文件中)

新建Qt的安装目录:

mkdir qt-hxm

在QT源码根目录qt-everywhere-opensource-src-5.5.0/下执行:

./configure -xplatform android-g++ -nomake tests -nomake examples -android-ndk /home/valente/android-ndk-r10d -android-sdk /home/valente/android-sdk-linux -android-ndk-host linux-x86_64 -android-toolchain-version 4.9 -skip qttranslations -skip qtwebkit
-skip qtserialport -skip qtwebkit-examples -no-warnings-are-errors -android-arch mips -prefix /home/valente/qt-hxm

7.编译幷安装QT:

make

make install

8.进入如下目录,执行qtcreator:

cd ~/Qt5.5.0/Tools/QtCreator/bin

./qtcreator

9.打开Qt Creator后,点击 工具(Tools) -> 选项(Options) -> Android ,设置Android SDK , Android NDK , JDK 的安装路径

10.点击 工具(Tools) -> 选项(Options) -> 构建和运行(Build & Run) -> Qt Versions,在手动设置中添加 qmake ,文件路径为:/home/valente/qt-hxm/qmake

11.创建一个工程并进行选项配置:

步骤详见(Qt 5.2.0,Qt Creator 3.0): /article/1380661.html

Qt5.5.0,Qt Creator 3.5.0中,与上述选项配置中不同的地方参考: /article/1380645.html

创建完成后在工程中的 .pro 文件中添加makefile的编译参数:

QMAKE_CFLAGS =`-mno-odd-spreg`

QMAKE_CXXFLAGS = $$QMAKE_CFLAGS

12.运行后弹出对话框(bin文件夹),将生成的 apk 文件拷贝到其生成目录的父目录,

cd ~/hxm-qt-project/build-HelloQTAndroid-Android_for_mips_GCC_4_9_Qt_5_5_0_bb9c75-Release/android-build/bin ; ls

cp QtApp-release-signed.apk ../

cd ../libs/mips ; ls

file libHelloQTAndroid.so ,查看文件是否为32位。

将apk文件 adb push 到真机的 data/app 上,可以看到运行效果。

相关参考:

1.百度搜索 “mips fpreg”,找到 “MIPS Options - Using the GNU Compiler Collection (GCC)”: http://gcc.gnu.org/onlinedocs/gcc/MIPS-Options.html

其中有关于编译选项 -modd-spreg 和 -mno-odd-spreg 的介绍。

2.百度搜索 “ .pro文件 QMAKE_CFLAGS ” ,找到 “Qt 常用命令,宏,pro文件格式-xutianxi-ChinaUnix博客” : http://blog.chinaunix.net/uid-23670869-id-2391678.html

找到 “QT中Makefile文件的修改_雨儿_新浪博客”: http://blog.sina.com.cn/s/blog_4ba5b45e0102ea96.html ,其中有关于编译参数的添加方法。

3.GCC使用-MIPS64选项编译出错,原因是什么?

龙芯3A/3B处理器使用GS464系列处理器核,支持MIPS64指令集,但在桌面应用最为常见的O32 ABI下,只能使用16个偶数号浮点寄存器。若使用了奇数号浮点寄存器,则会产生计算结果错误。

GCC工具链默认的-mips64选项会对奇数号寄存器进行分配,因此,为了适配龙芯3A/3BO32下编译程序时,必须使用修改寄存器分配后的工具链才能编译出正确的程序。因此,请使用龙芯官方提供的最新版GCC工具链。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: