(翻译:徐诚 http://blog.csdn.net/shizhebsys 保留版权)

这里是开始Moblin开发重要起点。本页描述如何创建一个简单的应用程序,并且介绍少数有用的工具帮助你快速启动开发动作。

注意:这不是一个Linux软件开发指南,而是假设你已经懂得如何在Linux上开发软件,包括使用(你最喜欢的编辑器)、gcc、gdb和Makefile程序来编译和调试

Moblin兼容性和应用程序

Moblin兼容性是一个通过矫正函数库和函数版本来改善应用程序兼容性交叉分发的程序,并且使OSV(操作系统提供商)将其包含在发行版内。在开发一个应用程序时鼓励使用函数库和函数版本,其中包括预制开发映像。这样做将确保你的应用程序能以最小变更运行在所有Moblin兼容发行版。

系统需求

该指南假设你拥有下列资源:

  • 拥有标准开发工具的任何最新、主流Linux发行版
  • 『可选』最好拥有上网本或MID,但不是必须的
  • 『可选』需要支持虚拟化(VT)的PC,用于运行 KVM或VMWare映像
  • 『可选』需要使用Intel图形芯片的PC,用来安装Moblin v2 ISO映像(大多数上网本都具备)

示例项目代码

本指南中将使用一个简单的Clutter应用程序,代码解释见此处。

开发环境

有多种途径设置开发环境,我们提供其中两种选择:

  • 在Linux工作站上开发,临时在目标设备上以进行远程确认和调试。

  • 在使用KVM映像、VMWare映像的Moblin v2环境内开发,可以是上网本之类的平台。

最后,你将喜欢上在这两种环境中开发。下面是一个简短的对比:

  在Linux工作站上开发 在Moblin v2环境中开发(KVM、VMWare或上网本)

优点

  • 熟悉桌面、配置、网络设置等等
  • 标准开发工具和环境
  • 运行在强大的工作站上
  • Moblin兼容的发布版,不需要更新函数库
  • 应用程序运行在真实的目标环境上
  • (在目标设备上) 具备平台特有的特性和驱动

缺点

  • 必须通过Moblin v2函数库矫正(安装或升级)开发包
  • UI体验不同于移动设备
  • 可能不具备平台特有能力(例如触屏、电话堆栈等等)
  • 减缓执行速度
  • 需要安装必须工具
  • 调试的屏幕区域较小
  • 上网本键盘/鼠标较小且难用

选择1:在Linux工作站上开发

大部分开发工作可放在最新和主流的发布版上,例如Ubuntu 8.04、Fedora 9,或者拥有标准开发工具的更新版本。

安装或升级开发包

最主要的任务之一是矫正开发库的版本,使你的应用程序务必基于Moblin v2函数库列表。如果不这样,你在Moblin兼容发布版上尝试运行应用程序时会有不兼容的风险。到目前为止这里还没有Moblin兼容发布版,你应该尽最大可能从上游获得新版本,包括软件包(如果上游已提供)或下载的源代码。

在这个指南中,我们基于clutter v0.9。最后v1.0将被发布,并且成为标准发行版的一部分,但现在我们只能下载和安装最新版本的源代码。知道如何去做这些基本工作将使你能够获得任何版本的函数库和应用,请跟着下列步骤通过源代码编译并安装Clutter。

在Moblin v2环境中运行项目

目前你可以延续大多数应用程序的开发过程去编译、运行和调试你的应用程序。偶尔(在早期被推荐),你应该在Moblin v2环境内运行你的应用程序。另外你还需要了解如何远程调试你的应用程序,使其运行在上网本或工作站的虚拟环境中。

选择2:在Moblin v2环境中开发

你可以直接在Moblin v2环境中开发程序。

  • 下载并启动一个开发映像(KVM、VMWare、或运行在上网本上)。
  • 安装标准开发工具到Moblin v2环境中。
  • 在工作站的终端内复制项目源文件到Moblin v2映像。
    (Moblin v2环境以外的终端)
    $ scp -r ./clutter_hw  <Moblin v2系统的IP地址>:/<放置源代码的目录>
  • 建立、安装和运行你的项目。参看下一小节(这里和在工作中上开发是相同的)。

下载、建立及运行项目

在开发环境中(无论是工作站还是Moblin v2环境),现在我们可建立示例程序。

$ git clone git://git.moblin.org/sample_apps.git
$ cd sample_apps
$ ./autogen.sh
$ make
(随意安装——注释见下文)
$ sudo make install

“make”包括创建二进制程序并放置到“.src”目录中,然后可以不通“make”安装应用程序直接运行

$ ./src/clutter-helloworld


“make install”(以根用户运行)安装二进制程序到“ /usr/local/bin”目录,并且注册应用程序到标准系统菜单“其它”分类中。该程序现在位于环境变量path中,并且能在任何位置运行

$ clutter-helloworld

项目特征/建议

下列示例项目的外貌存在于所有项目中:

  • Moblin v2函数库:连接的函数库和版本可在Moblin v2函数库列表中找到。
  • autoconf:用来自动配置系统,设置将被引入。完整文件见此处。
  • 菜单注册:根据freedesktop.org标准注册应用程序菜单。完整文档见此处。
  • 国际化:国际化应用程序,使它能被不同语言本地化。详见国际化基本知识。完整文档见此处。
  • Docbook文档::使用gtk-doc(或者doxygen)样式通过自动html格式API生成注释所有你的API。见API文档产生基本知识。
  • Packaging:打包打包你的应用程序成为RPM或DEB,使安装在所有Moblin兼容发行版上更容易。

Linux项目产生器

经常从一个初始的项目入手去配置相关函数库是非常费时的,为了帮助过程的快速开始,见Linux项目产生器。

下一步

现在你可以设置基本的开发环境,下列连接对你会有用。欢迎参与Moblin开发!

Linux项目产生器

为你的新应用程序或函数库产生一个自动建立的项目模板

API参考

主要的应用程序函数库

原文:http://moblin.org/documentation/moblin-sdk/create-new-application

Moblin v2开发环境设置——创建一个新应用程序相关推荐

  1. Android IoT开发实战 | 04 - 创建一个新的活动Activity(登录界面)

    本系列IoT App开发笔记系b站视频教程学习笔记,视频地址: [7天Java0基础速成安卓开发]Day1 Android工程代码是怎么运行的 [7天Java0基础速成安卓开发]Day2 常用控件和界 ...

  2. [培训-DSP快速入门-4]:C54x DSP开发环境与第一个C语言程序

    作者主页(文火冰糖的硅基工坊):https://blog.csdn.net/HiWangWenBing 本文网址:https://blog.csdn.net/HiWangWenBing/article ...

  3. Hadoop Eclipse开发环境设置

    1.Hadoop开发环境简介 1.1 Hadoop集群简介 Java版本:jdk-6u31-linux-i586.bin Linux系统:CentOS6.0 Hadoop版本:hadoop-1.0.0 ...

  4. Hadoop集群_Eclipse开发环境设置

    1.Hadoop开发环境简介 1.1 Hadoop集群简介 Java版本:jdk-6u31-linux-i586.bin Linux系统:CentOS6.0 Hadoop版本:hadoop-1.0.0 ...

  5. Symbian编程与开发环境设置

    一. symbian/' target='_blank'>Symbian针对不同的终端有不同的开发包,目前多见的是NOKIA的60和80系列Series 60 SDK for symbian/' ...

  6. Esp8266学习之旅① 搭建开发环境,开始一个“hellow world”串口打印。

    本系列博客学习由非官方人员 半颗心脏 潜心所力所写,不做开发板.仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 基于C SDK的ESP8266开发技术全系列笔记 一.N ...

  7. 创建一个新的extender

    写在前面的话: 本人在前一段的ASP.NET AJAX的学习中,本想使用一个<ajaxToolkit:ValidatorCalloutExtender >,但是折腾了几天,发现不能够使用, ...

  8. hadoop搭建与eclipse开发环境设置

    hadoop搭建与eclipse开发环境设置(转) 1.    Windows下eclipse开发环境配置 1.1 安装开发hadoop插件 将hadoop安装包hadoop\contrib\ecli ...

  9. 小程序 | 认识CMS、创建云开发环境、创建并进入CMS内容管理系统

    之前使用云开发在使用上受到了很大的限制,一和别人交流说自己做了一个小程序是用"云开发"完成的,仿佛很NB的样子,但只有自己知道心里是虚的.没有底儿的.一开始使用云开发的功能,先是& ...

最新文章

  1. QLocalServer与QLocalSocket进程通讯
  2. 《拥抱变化——社交网络时代的企业转型之道》一构筑社会信任
  3. 云网融合 — 云网融合与云网一体化
  4. (接口)银联证书上传被修改的问题和读取证书的绝对路径问题
  5. 在Ubuntu中部署并测试Fabric 1.0 Beta
  6. ArrayList和LinkedList
  7. 线性表_使用栈实现二进制转换到八进制/十进制/十六进制
  8. mysql 插入万条数据_你向 MySQL 插入 100万 条数据用了多久?
  9. 【MATLAB深度学习工具箱】学习笔记--Deep Network Designer学习--组成和使用方法
  10. mac及idea常用快捷键
  11. RPC规范接口实现模块Flask-JSONRPC
  12. BIOS报警声_文伟_新浪博客
  13. brook客户端android下哪个,‎App Store 上的“Brook Steakburguer”
  14. dedecms二次开发总结 变量参数
  15. ES — — elasticsearch初探
  16. 如何在微信公众号正文中添加附件?
  17. html5兼容问题,【HTML5分享】关于浏览器的兼容问题
  18. 2020NBA选秀大会结果出炉,开启.fans球星域名抢注!
  19. 做毕设电脑配置不够用?除了换电脑还有其他办法吗?
  20. 【聚划算 Android 技术周刊 第十四期- 20161126】

热门文章

  1. 什么?你还不会写JQuery 插件
  2. wx.downloadFile坑点
  3. 学习FPGA绝佳网站推荐
  4. 人脸识别系统毕业设计,人脸识别签到毕业设计,人脸识别打卡毕业设计
  5. c语言累加和校验_循环冗余校验(CRC)算法入门
  6. 【CANoe】车载网络的相关概述
  7. 电脑怎么远程控制另一台电脑
  8. MFC ODBC数据库操作编程(二)
  9. 纯纯的爬虫知识,python scrapy 下载中间件知多少
  10. 积木拼图游戏-积木游戏世界中文版