当前位置: 首页 > news >正文

QT(1)准备好环境和.pro文件

  既然MeeGo由于Nokia的缘故采用cross-plate的QT作为开发环境,MeeGo的SDK学习也将从QT开始。我们准备两个开发环境,一个是MeeGo Handset的模拟器,一个是本地Linux(用阿土,因为local的效率高,既然只是学习,采用方便的方式,最后在target中验证)。这里我们只进行学习验证的环境,不采用完整的包括rpm打包和利用QT Creator开发工具的环境。

MeeGo IA32 Handset模拟器

  采用模拟器方式,利用MeeGo工具mad,可以简单完成,模拟器的安装,参考MeeGo handset 1.1开发环境系列 。采用以下的步骤创建我们的project:app-framework-test

一、利用mad创建一个QT的project
  $ mad -t meego-handset-ia32-1.1 pscreate -t qt-simple app-framework-test
  $ cd app-framework-test

二、通过qmake,根据自动创建的app-framework-test.pro文件创建项目的Makefile文件
  $ mad -t meego-handset-ia32-1.1 qmake

三、在这里我们编写源代码...编写中...编写完成...呵呵

四、通过交叉编译工具链进行编译,我们在build/目录下看到执行文件
  $ mad -t meego-handset-ia32-1.1 make
如果需要进行封装deb,可以采用make debian-all,在上一层目录下可以看到deb包和源代码*.tar.gz

五、在target上进行验证,target采用模拟器
开启模拟器:
  $ mad remote -r meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime poweron
将内容copy至模拟器,我们不采用root,采用用户meego,密码也是meego
  $ scp -P 6666 build/app-framework-test meego@127.0.0.1:~/test/
登录模拟器:
  $ ssh -X meego@localhost -p 6666,也可以将-X替换为-Y
在~/test/的目录那里,运行$ ./app-framework-test,则在本地的X server看到相关的应用。如果需要在模拟器看到,需要先设定display的环境,export DISPLAY=:0,我们可以现查看一下原来的DISPALY的值,以便恢复,对于我的环境,恢复为export DISPLAY=localhost:10.0

本地Linux(Ubuntu)的环境

  由于每次调测都要上传一次,很麻烦,既然QT是跨平台的,所以还是应该在本地提供环境方便。安装一个local的qt,$ sudo apt-get install libavahi-qt4-dev,建立一个目录local-test,并进入之,在下面建立一个文件夹src,用于存放源代码文件,建议一个build文件夹,用于存放编译生成文件。建立一个文件local-test.pro,以便qmake根据它来创建Makefile文件。让后make就可以。简单地我们可以将之前mad自动创建的*.pro文件copy过来用。如果只是验证程序,我们也可以自己写一个简单的local-test.pro文件,如下:

SOURCES = qtmain.cpp

VPATH = src
OBJECTS_DIR = build
DESTDIR = build

  上面是我去掉所有,只剩下最简单的调试环境。

资料

  对于MeeGo,其API文档在http://apidocs.meego.com/1.1/core/html/index.html ,但是不太好用,最大的问题是没有search功能。对于QT,可以http://doc.qt.nokia.com/latest/ 中查看,对于QT mobility,可以在http://doc.qt.nokia.com/qtmobility-1.1.0/index.html 。一个学习的入口为http://doc.qt.nokia.com/latest/tutorials.html 。

相关链接:我的MeeGo/Moblin相关文章

相关文章:

  • QT(2)Widget的小例子
  • Xcode7 添加PCH文件
  • MySQL事务隔离级别详解(转)
  • 登陆的时候如何用单例将用户登录成功后的信息存储下来,并且在其他地方可以使用...
  • linux2.6.36之后对工作队列的改进
  • FPM打包工具
  • 随笔一个dom节点绑定事件
  • 程序员的美:极致与疯狂
  • 大脑暗能量
  • 2013551813 张燕燕 第二周作业
  • 一个7200转/分钟,20G的给力风扇
  • 页面刷新 整个页面刷新和局部刷新
  • 如何编译MFDeploy
  • 系统设计
  • QT(3)对象和继承-Addressbook例子1
  • [PHP内核探索]PHP中的哈希表
  • 【Leetcode】104. 二叉树的最大深度
  • 2018天猫双11|这就是阿里云!不止有新技术,更有温暖的社会力量
  • 30秒的PHP代码片段(1)数组 - Array
  • CSS相对定位
  • eclipse的离线汉化
  • ES6核心特性
  • JS函数式编程 数组部分风格 ES6版
  • nfs客户端进程变D,延伸linux的lock
  • PaddlePaddle-GitHub的正确打开姿势
  • vuex 笔记整理
  • 大快搜索数据爬虫技术实例安装教学篇
  • 欢迎参加第二届中国游戏开发者大会
  • 基于遗传算法的优化问题求解
  • 力扣(LeetCode)21
  • 七牛云 DV OV EV SSL 证书上线,限时折扣低至 6.75 折!
  • 如何优雅的使用vue+Dcloud(Hbuild)开发混合app
  • - 语言经验 - 《c++的高性能内存管理库tcmalloc和jemalloc》
  • # 飞书APP集成平台-数字化落地
  • ( )的作用是将计算机中的信息传送给用户,计算机应用基础 吉大15春学期《计算机应用基础》在线作业二及答案...
  • (11)工业界推荐系统-小红书推荐场景及内部实践【粗排三塔模型】
  • (16)Reactor的测试——响应式Spring的道法术器
  • (aiohttp-asyncio-FFmpeg-Docker-SRS)实现异步摄像头转码服务器
  • (附源码)springboot美食分享系统 毕业设计 612231
  • (四)库存超卖案例实战——优化redis分布式锁
  • (正则)提取页面里的img标签
  • (转)GCC在C语言中内嵌汇编 asm __volatile__
  • (转)linux下的时间函数使用
  • (转)memcache、redis缓存
  • ****** 二 ******、软设笔记【数据结构】-KMP算法、树、二叉树
  • **CI中自动类加载的用法总结
  • .Net 6.0 处理跨域的方式
  • .NET Framework 3.5中序列化成JSON数据及JSON数据的反序列化,以及jQuery的调用JSON
  • .net mvc actionresult 返回字符串_.NET架构师知识普及
  • .net mvc 获取url中controller和action
  • .net企业级架构实战之7——Spring.net整合Asp.net mvc
  • @reference注解_Dubbo配置参考手册之dubbo:reference
  • @Service注解让spring找到你的Service bean
  • [ 云计算 | AWS ] AI 编程助手新势力 Amazon CodeWhisperer:优势功能及实用技巧
  • [100天算法】-实现 strStr()(day 52)