Qt默认的编译方式是动态编译的,但是有时候编写的程序要发布出去,带很多动态库文件是很繁琐的,此时就需要静态编译程序,Qt要实现静态编译必须库文件也是静态编译的,可以用这个命令编译静态库:
成都创新互联公司主要从事成都做网站、成都网站设计、网页设计、企业做网站、公司建网站等业务。立足成都服务东兴,10多年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:13518219792
1.将C:\Qt\2010.05\qt\mkspecs\win32-g++\qmake
您好,很高兴为您解答:
不看好Qt for Android。以下简称QfA.
1. 跨平台只在PC上有优势,在移动设备上毫无优势。移动设备整体的应用风格需要保持一致,你外部加进来一个UI,倒是和平台保持一致了。你如何保持和原生UI的这种使用一致性。
2.在开发易用度上,Android(java) API 已经做得很好,包括事件,广播,服务等Qt里有的基本上Android API里已经做得很好,从Qt开发者转为java开发者也很容易。 而如果要写QfA应用,开发者不仅要懂Qt,同样也避免不了要写java代码。
3. 如果要写和其它app通信的时候,QfA的灾难性就来了。如果是上层的几乎等完整的搞一遍Android API吧。 另外对于和设备相关的一些调用(GPS/Telephony)等,QfA的工作量一下子就上来了,这时候你还指望QML么?
4.性能呢? QfA对于图形渲染区的请求还得在java的接口请求,是不是又要绕了个大弯。
5. 软件体积。 终端用户要用Qt app,势必要先装一个Qt lib, 或者在你的app 中一起静态发布。
在有很多优秀的QfA app出现之前,大家不带乐意只为一个好的app 去装一个大的软件,而会愿意选择一个原生软件替代。
6.官方支持。目前Qt开发团队多少人?但目前他们要支持多少平台。 如果没有一个比较大的商业级别软件在用QfA,官方能做的就是让这个软件在Android平台能编译,运行,解决一些明显的bug。
7. Qt做mobile最好的机会就是被大款看上。她也曾经被看上过(Nokia 和 Intel)。 但是被Elop害死了。
如果我的回答没能帮助您,请继续追问。
1.下载安装Qt 5.1.0 for Android (Windows 32-bit, 716 MB)
2.打开Qt Creator,打开帮助,输入android,找到官方说明,按照教程一步步的操作。
3.首先需要下载以下四个软件:
1)The Android SDK Tools 下载安装
2)The Android NDK 下载并解压,注意不能有空格
3)Apache Ant v1.8 or later 下载并解压,同上
4)OpenJDK v6 or later 下载并解压
4.打开Qt Creator,选择工具-选项-android,配置好刚刚安装的文件路径,并点击【启动android AVD管理器】
5.点击 New 新建一个android模拟器,根据自己需要选择Device
6.点击ok-ok,并选择刚刚建立的设备,点击Start启动,此过程比较慢,耐心等待。
7.重启Qt Creator 已经可以看到有设备了,我们检查 构建和运行 中 构建套件和Qt版本是否正确,确认无误接下来就可以建立工程
8.新建一个Qt gui项目,选择android for arm
9.修改代码,显示hello Qt
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include QMainWindow
#include QLabel
class MainWindow : public QMainWindow
{
Q_OBJECT
private:
QLabel *label;
public:
MainWindow(QWidget *parent = 0);
~MainWindow();
};
#endif // MAINWINDOW_H
#include "mainwindow.h"
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
label=new QLabel("hello Qt",this);
label-setGeometry(10,10,100,30);
}
MainWindow::~MainWindow()
{
}
10.直接点击 构建 查看能不能正常编译,如果此间报错,可以留言,尽力为大家解决。一切正常的话直接点击运行,此过程较慢,会编译成apk文件并且部署到模拟器上。
Qt作为一个C++的框架在界面方面有它自己的优势,在嵌入式平台及桌面均有着不错的表现。作为android之外的一个可选择的框架,Qt不会就此消失,但Qt for android这样的方式一定不会有光明的未来。
理由:一,android本身的图形系统已经很完善,加上java类库的支持,Qt完全没有在android上存在的价值;
二,作为移动平台来说,android的框架显然更适合移动互联网,更能满足用户需求;
三,基于android的应用数量已经非常丰富,Qt在这方面的差距无法弥补;
四,android的开发群体数量质量(相比Qt开发者有很大一部分做PC桌面应用)更大更适于移动平台。