用qt SDK 构建meego touch 开发环境

说明:
  也许有不少朋友会问到,网上有不少构建meego touch环境的文章了,你又何必多此一举呢?细心的朋友可能会发现,我这里不用编译QT4.7 而是用QT4.7的SDK来搭建环境的。编译QT4.7一般都需要大概一下午的时间,而是用SDK则最多不超过20分钟就搞定了。这也是希望能有更快的方法让大家来玩meego。

  下载 qt-sdk-linux-x86-opensource-2010.05-rc1.bin

  1. 安装 qt-sdk-linux-x86-opensource-2010.05-rc1.bin

    
    

    chmod 777 qt-sdk-linux-x86-opensource-2010.05-rc1.bin
    ./qt-sdk-linux-x86-opensource-2010.05-rc1.bin

  2. 下载编译好的dbus库文件(附件里),放到QT 2010.05的库里。
  3. 安装g++
  4. 安装依赖库文件:
    • 安装依赖库

      
      

      sudo apt-get install libfontconfig1-dev libfreetype6-dev libx11-dev libxcursor-dev libxext-dev libxfixes-dev libxft-dev libxi-dev libxrandr-dev libxrender-dev 

    • 安装dbus库
      
      

      sudo apt-get install libgconf2-dev libdbus-qt-1-dev

    • 修改libmeegotouch/configure,将HAVE_DBUS=no改为yes
  5. 安装meegotouch-theme(这个主要是一些主题css文件等.
    • 下载meegotouch-theme 代码

      
      

      git clone git://gitorious.org/meegotouch/meegotouch-theme.git

    • 进入目录meegotouch-theme
      
      

      cd meegotouch-theme/

    • 执行qmake 生成makefile :
      
      

      qmake

    • 安装
      
      

      sudo make install

    说明: 在使用make的时候可能会说make的版本不是4.7。出现qmake与qt4的连接问题
    文章末尾有解决方案

  6. 安装libmeegotouch
    • 下载源代码

      
      

      git clone git://gitorious.org/meegotouch/libmeegotouch.git

    • 安装一些依赖的库。(根据个人PC的配置情况,以及后面2.4的配置结果,可能还需要安装其他的一些依赖库)
      
      

      sudo apt-get install libicu-dev graphviz

    • 进入目录libmeegotouch
      
      

      cd libmeegotouch

    • 进入目录,生成makefile :
      
      

      qmake

    • 执行make 编译
      
      

      make

    • 安装
      
      

      sudo make install

      在/usr/local/lib下的目录,发现已经生成的meego 库文件

      

实践:

  1. 写一个hello world代码
    main.cpp

    代码

    
    

    #include <MApplication>
    #include <MApplicationWindow>
    #include <MApplicationPage>
    #include <MLabel>

    int main(int argc, char **argv)
    {
    MApplication app(argc, argv);
    MApplicationWindow window;
    MApplicationPage page;

    page.setTitle("My First Page");
    page.setCentralWidget(new MLabel("Hello World!"));
    page.appear(&window);

    window.show();

    return app.exec();
    }

    HelloWorld.pro

    代码

    
    

    ######################################################################
    # Automatically generated by qmake (2.01a) ?? 9? 12 21:36:22 2010
    ######################################################################
    TEMPLATE = app
    TARGET =
    DEPENDPATH += .
    INCLUDEPATH += .
    CONFIG += meegotouch
    # Input
    SOURCES += main.cpp


    生成makefile文件

    
    

    qmake

    执行make

    
    

    make

    运行程序记得要加sudo

    
    

    sudo ./helloWorld

    程序结果如下:

  2. 编译一个编译example目录里面的 tutorial_music_catalogue 例子
    • tutorial_music_catalogue这个例子程序,有详细的介绍文档,在libmeegotouch的文档主页上,有个介绍 Your first MeeGo Touch application ,适合做为入门文档
    • 由于libmeegotouch没有安装到标准路径下,因此需要修改它的pro工程文件,打开文件 tutorial_music_catalogue.pro,在里面添加如下一段(如果meegotouch的安装路径不一样,请自行对应修改):

      代码

      
      

      unix {
      INCLUDEPATH += /usr/local/include/meegotouch
      LIBS += -L/usr/local/lib -lmeegotouchcore -lmeegotouchextensions -lmeegotouchsettings -lmeegotouchviews
      QMAKE_LFLAGS += -Wl,-rpath,/usr/local/lib
      }

  3. 执行qmake
  4. 执行make,如果出现问题,可能是由于这个Makefile中需要调用mmoc。
    
    

    PATH=/usr/local/bin/:$PATH make

  5. 运行tutorial_music_catalogue
    
    

    sudo ./tutorial_music_catalogue

    如果有花屏可以执行下面命令:
    (并非所有的电脑都会黑屏或者花屏,所以运行程序的时候,可以自行尝试一下不同的情况)

    
    

    sudo ./tutorial_music_catalogue -software

    程序执行后的结果图:
    第一页

    第二页

    第三页

  6. libmeegotouch程序通用的命令行参数

    代码

    
    

    MComponentData: Usage: ./tutorial_music_catalogue
    [-software] Enable software rendering
    [-fullscreen] Make the application fullscreen
    [-show-br] Show the bounding rectangle for all scene items
    [-show-fps] Show the FPS for the view (only with OpenGL rendering)
    [-log-fps] Log the FPS for the application
    [-show-size] Show widget sizes in the scene
    [-show-object-names] Show the names of the objects in the scene
    [-show-position] Show widget positions in the scene
    [-show-cursor] Force the cursor to be visible
    [-reverse] Change the layout direction to right-to-left direction
    [-dev] Enable development visualization mode
    [-genimglist filename] Generate list of requested images to filename
    [-remote-theme] Wait until remote theme daemon is available
    [-local-theme] Force usage of local theme processing instead of remote theme daemon
    [-output-level debug|warning|critical] Only show messages of given output level or above
    [-output-prefix <prefix>] Only show debug messages that start with the given prefix
    [-no-output-prefix <prefix>] Only show debug messages that do not start with the given prefix
    [-target <name>] Use the target device profile
    [-prestart] Prestart the application (if supported)
    [-fixed-orientation 0|90|180|270] Start application in fixed orientation.
    This overrides keyboard state, as well as a device profile

  7.  tutorial_music_catalogue这个示例程序很新,它依赖的qt版本和libmeegotouch版本,都高于目前meego镜像中对应的qt和libmeegotouch版本,因此在开发板上或虚拟机里并不能运行。但是,不妨碍我们用它来学习入门。example目录里面的其他示例程序,在开发板上基本上都可以运行。

补充一些描述

  1. libmeegotouch是图形开发工具箱,从它的功能上来说,它相当于qt,gtk,clutter等这一类图形界面库。
  2. libmeegotouch是基于qt的,准确点说是基于qt的graphicsview框架的,但是,它在graphicsview的基础上,又封装出一层widget。在使用方法上和设计模式上,和原始的graphicsview或qwidget,并没有太多的交集。
  3. 开发meego应用程序,如果没有qt开发经验,建议直接从libmeegotouch学起,在使用过程中,如果碰到了原始的qt中的class,再查阅对应的手册。这种学习路线,消耗的时间应该是最少的。
  4. 另外,虽然在PC上可以安装libmeegotouch,但是这毕竟不是meego的完整开发环境,它只负责meego的GUI部分,因此这篇文档介绍的方法,不能替代meego的完整开发环境。之所以在PC上安装libmeegotouch,一方面是让许多没有硬件开发环境的朋友也可以在PC上体验一下 meego的界面操作方式,另一方面,也是想说明一下meego程序在开发上的灵活性,比如前端UI设计的时候,就可以先在PC上做一些原型设计。

  最后非常感谢小辉,阿虎,给予的帮助,也希望更多的朋友来关注meego 关注meegoq。

附:qmake与qt4的连接问题解决方案

可以敲下面命令测试


qmake -v

出现下面情况:

$Qmake version: 1.07a (Qt 3.3.8b)   

$Qmake is free software from Trolltech ASA.

怎么qmake的版本变成了qt3了,进入/usr/bin目录下


root@ubuntu:/home/yyy# cd /usr/bin
root@ubuntu:/usr/bin# ls -l qmake
lrwxrwxrwx 1 root root 23 2009-10-09 09:35 qmake -> /etc/alternatives/qmake

查看qmake的信息,它是一个链接指向的是/etc/alternatives/qmake


root@ubuntu:/usr/bin# ls -l /etc/alternatives/qmake
lrwxrwxrwx 1 root root 18 2009-12-08 12:46 /etc/alternatives/qmake -> /usr/bin/qmake-qt3

终于找到的根源,原来qmake被设置成了qmake-qt3
强行修改

代码


root@ubuntu:/usr/bin# rm /etc/alternatives/qmake
root@ubuntu:/usr/bin# ln -s /usr/bin/qmake /etc/alternatives/qmake
root@ubuntu:/usr/bin# qmake -v
QMake version 2.01a
Using Qt version 4.5.0 in /usr/lib

附件: dbus.rar

时间: 2024-07-28 17:57:51

用qt SDK 构建meego touch 开发环境的相关文章

在Dreamweaver中构建ASP.net开发环境

asp.net|dreamweaver 在开发网站,特别是开发网络数据库之前,首先应该认真构建好 Dreamweaver MX 2004+ASP.NET 开发环境.本例将向读者介绍如何在 Windows XP 操作系统下构建开发环境. 操作步骤 ( 1 )单击[开始]→[控制面板]. ( 2 )在弹出的[控制面板]窗口中双击[添加或删除程序]按钮图标,在弹出的[添加或删除程序]对话框中选择安装 IIS 服务器. ( 3 )安装好 IIS 服务器后,在[控制面板]窗口中单击管理工具,然后在弹出的[

刚构建好android开发环境,试运行了个helloworld程序,报了200+错,为什么?

问题描述 刚构建好android开发环境,试运行了个helloworld程序,报了200+错,为什么? 开发环境 eclipse+adt+jdk+sdk 都安装完,环境变量配置好,运行个新建程序,很多错误.

《Spark核心技术与高级应用》——3.2节构建Spark的开发环境

3.2 构建Spark的开发环境无论Windows或Linux操作系统,构建Spark开发环境的思路一致,基于Eclipse或Idea,通过Java.Scala或Python语言进行开发.安装之前需要提前准备好JDK.Scala或Python环境,然后在Eclipse中下载安装Scala或Python插件.3.2.1 准备环境准备环境包括JDK.Scala和Python的安装.1.安装JDK(1)下载JDK(1.7以上版本)下载地址:http://www.oracle.com/technetwo

eclipse开发-Android SDK问题,Eclipse开发环境

问题描述 Android SDK问题,Eclipse开发环境 我想在SDK Manager再下载模拟器加速器,可是我的SDK Manager中只显示只安装了的,未安装的找不到是怎么回事啊,看下图,求大家帮帮忙,谢谢 解决方案 如果是模拟器,那你下载genymotion吧,最好用最快的模拟器 解决方案二: 模拟器在AVD Manager中 解决方案三: 不好意思 ,帮不上你的忙 了,想了好久还是想不出 解决方案四: 被墙的地址访问不了. 可以下载网络上现成的sdk包

构建Apache ODE开发环境

今天搭建了ODE开发环境,根据官方文档的说明要先安装Ruby环境,因为Apache ODE是用buildr工具 来构建的,buildr是一个用来构建Java项目的工具,也是Apache收录的第一个Ruby项目.Apache接纳了Buildr项目后,这次又将Buildr项目提升为一级项目,网址是http://buildr.apache.org .看来Apache也越来越关注Ruby语言相关的一些工具.框架和项目了. 按照官方文档的提示安装Ruby,我在XP下试了很多次,总是在安装Buildr的时候

在ubuntu下构建go语言开发环境的方法_Golang

新版本的go有更好的性能,ubuntu软件库只有交旧的版本,通过源码安装go1.2 具体步骤: 1.去官网下载go1.1.2的tarball,我下载到tem目录 2.打开终端cd /usr/local, tar -zxvf go1.1.2.linux-386.tar.gz 将源码文件解压缩到/usr/local目录,如果解压到其他目录,需要自己设置GOROOT 3.安装gcc工具,因为golang有些功能是使用c写 sudo apt-get install bison gawk gcc libc

Dreamweaver如何构建开发环境

在开发网站,特别是开发网络数据库之前,首先应该认真构建好 Dreamweaver MX 2004+ASP.NET 开发环境.本例将向读者介绍如何在 Windows XP SP2 操作系统下构建开发环境. 操作步骤 ( 1 )单击[开始]→[控制面板],如图 1-1 所示. 图 1-1 打开控制面板 ( 2 )在弹出的[控制面板]窗口中双击[添加或删除程序]按钮图标,在弹出的[添加或删除程序]对话框中选择安装 IIS 服务器,如图 1-2 所示.   ( 3 )安装好 IIS 服务器后,在[控制面

使用Android Studio搭建Android集成开发环境(图文教程)

  [正文] 之前本人在博客中讲到使用IntelliJ IDEA 13搭建Android集成开发环境(图文教程).昨天重装系统了,所以为了跟上时代,今天来试一下Android Studio的使用.之前看过几篇博客,介绍了如何使用Android SDK搭建Android集成开发环境,但是感觉不详细,所以打算自己整理一个详细的图文教程,希望能对新手(包括自己)有所帮助. [开发环境] 物理机版本:Win 7旗舰版(64位) Java SDK版本:jdk1.8.0_20(64位) Android SD

Docker 在 PHP 项目开发环境中的应用

环境部署是所有团队都必须面对的问题,随着系统越来越大,依赖的服务也越来越多,比如我们目前的一个项目就会用到: Web服务器:Nginx Web程序:PHP + Node 数据库:MySQL 搜索引擎:ElasticSearch 队列服务:Gearman 缓存服务:Redis + Memcache 前端构建工具:npm + bower + gulp PHP CLI工具:Composer + PHPUnit 因此团队的开发环境部署随之暴露出若干问题: 依赖服务很多,本地搭建一套环境成本越来越高,初级