2012年(67)
分类: LINUX
2012-07-23 20:51:57
简介:
1,qml是一种新技术,具体是怎样一个新法,看客们可以去官网 ,看百科,看yafeilinux。
2,qml程序的分类 :
A:纯qml程序 如demo snake。
B:qml和c++混合编程程序 如 demo:minehunt。
先把A放那,先说说B类,在C++程序中如果有**.qml则证明就是B类的程序了,如果还按照以前的方法去运行这个“QT”程序,在“QML”的部分会是空白,如图:
这是因为qml相关库没有移植 ,解决方法如下:
在编译qte库时加上“-importdir /usr/local/Trolltech/QtEmbedded-4.8.0-arm/qml”(假设你的qte库编译的目录为:/usr/local/Trolltech/QtEmbedded-4.8.0-arm),这样编译过后,再次运行“qml和c++混合编程程序”minehunt,运行结果如图:
(如果想看看qml目录下都有些什么可以看看这个: )
再来说说A类,在A类中,使用qml写出的程序是不需要编译的,就某些web语言一样,工程文件是 **.qmlproject。运行的是**.qml文件,怎么才能打开它呢?用qmlviewer,那qmlviewer是什么东西呢?如果还用web的例子,它就是IE浏览器。
那qmlviewer哪里来呢?NOKIA官网只讲了它怎么用,如下:( )
但问题是没有qmlviewer如何执行上边的用法?再看qmlviewer的介绍:
这里边明确提出它是一个tool,突然想看看官方介绍的tools有哪些:
悲催的是说了15个没有说到 qmlviewer,这算什么呢?到底是不是工具呢?怎么才能在编译qte时能编译出qmlviewer呢?
在这个乱世这之中,唯有实践才能得出答案,我果断地在配置项里加一个“-make tools”,一两个小时后,答案有了在tools目录下有了这个qmlviewer工具,按照官方的用法 打开了一个demo-snake.
qmlviewer snake.qml
奇迹出现:
至此,qml移植全部讲完,无非是在配置项中多加了两个东西,关键是加在哪?加什么?这项伟大的技术终于可以平民化了。
附我的QTE编译SHEEL脚本:
- #/bin/bash
- rm -fr qt-everywhere-opensource-src-4.8.0
- rm -fr /usr/local/Trolltech/QtEmbedded-4.8.0-arm
- tar xfvz qt-everywhere-opensource-src-4.8.0.tar.gz
- cd qt-everywhere-opensource-src-4.8.0
- echo yes | ./configure -opensource -embedded arm -xplatform qws/linux-arm-g++
- -webkit -qt-libtiff -qt-libmng -qt-mouse-tslib -no-mouse-linuxtp -declarative -no-qt3support -nomake examples -nomake demos -nomake docs -importdir /usr/local/Trolltech/QtEmbedded-4.8.0-arm/qml -fast
- make && make install
- cd /usr/local/Trolltech/QtEmbedded-4.8.0-arm