当前位置:首页 » 编程软件 » meego源码编译

meego源码编译

发布时间: 2022-11-16 20:11:37

⑴ 谁能说说塞班、安卓还有meego的优缺点

概念:
塞班系统是诺基亚公司开发出来的。
安卓系统版权归谷歌公司所有。
meego是诺基亚和英特尔合作的。
优缺点:
塞班系统
不开放源代码,只提供几个平台供软件制造商使用,并且塞班系统编程复杂。所以没有太多的软件公司为塞班系统设计软件。
安卓系统:开源系统,能让软件制造商随意设计出各种软件,所以与塞班相比,安卓系统的软件更加简洁,功能更强大。
meego是新系统,不太了解。如果楼主不是发烧级别的建议等这个系统成熟后再考虑是否买这种系统的手机。
----
至于哪些厂商会用安卓系统,这个说不准,现在为止有楼主提到的摩托罗拉的里程碑是安卓系统的亮点,还有联想的乐pine手机也是安卓系统,并且市场上反应都不错,除了这两个厂商用安卓最多的应该是HTC。
我本人虽然正在用诺基亚5230,但个人觉得安卓系统是现在和以后的主流系统。

⑵ 如何在MeeGo Qt应用程序中加载插件

一、创建一个基于QWidget的窗体程序

1
演示示例创建的是一个基于QWidget类的窗体程序,当然你要使用其他窗体类也是可以的。
项目名称为EchoWindow,窗体类名采用的是默认的widget。项目位于明为MyPlugin的目录下。
整个的目录结构如下:

2
具体程序界面如下。点击发送后,将文本框的内容经过插件的简单处理后在黑色框线的标签控件中显示出来。

END
二、建立接口类

1
首先了解下什么是接口。
接口类就是,由纯虚函数构成的类。它是不能够被实例化的。
在Assistant中有简短的说明。如果类中没有虚函数会被编译器报错的。

2
下面我们来建立接口类。
在EchoWindow项目上右键,添加新文件。

3
在弹出的 新建文件 对话框中,我们选择C++,中间窗口选择 C++ Header File。然后点击choose。

4
输入名称 EchoInterface。当然,也可以是任何你喜欢的名字。点击下一步,然后点击完成。

5
我们来看看,EchoWindow项目的目录情况。

6
在EchoInterface.h中输入以下内容:
#ifndef ECHOINTERFACE
#define ECHOINTERFACE#include <QString>class EchoInterface{
public:
virtual ~EchoInterface() {}
virtual QString echo(const QString &message) = 0;
};
#define EchoInterface_iid "Examples.Plugin.EchoInterface"
Q_DECLARE_INTERFACE(EchoInterface, EchoInterface_iid)
#endif // ECHOINTERFACE

7
可以看到类中只有一个纯虚函数。
Q_DECLARE_INTERFACE宏是为了让Qt的元对象系统知道这是一个接口。
同时还要注意那个iid,我们的是 "Examples.Plugin.EchoInterface",待会会用到。
好的,到此,我们的接口类编写完毕。
END
三、创建插件项目

1
点击文件菜单,新建文件或项目。

2
在弹出的 New File or Project 窗口中,我们选择,其他项目,Empty qmake project,然后choose。

3
在弹出的Empty qmake project窗口中,名称我们输入Plugin,路径我们按照第一步第一个图来存放,也就是与EchoWindow在同级目录下即可。然后,一直下一步,直到完成。

4
我们再来看看当前的整个项目结构。Plugin确实是个空项目,什么都没有。

5
我们在Plugin项目上右键,选择添加新文件,这个与添加那个接口类是一样的。在弹出的 新建文件 窗口中,我们选择C++,中间选择C++ class。然后点击Choose。

6
在弹出的C++ class窗口中,我们按图中输入。然后下一步。再点击完成。

7
首先来编辑下plugin.pro文件。输入如下内容:
TEMPLATE = lib
CONFIG += plugin
QT += widgets
INCLUDEPATH += ../echowindow
HEADERS = echoplugin.h
SOURCES = echoplugin.cpp
TARGET = $$qtLibraryTarget(echoplugin)
DESTDIR = ../plugins
然后保存。
第一行:生成的是一个库文件。
第二行:这是一个插件
第四行:因为我们要用到刚才定义的接口类,而该类的位置在echowindow中。
第七行:生成的库的名称,后缀名qt会根据系统自动添加。
第八行:生成文件的存放位置。

8
在echoplugin.h中输入:
#include <QObject>
#include <QtPlugin>
#include "echointerface.h"

class EchoPlugin : public QObject, EchoInterface
{
Q_OBJECT
Q_PLUGIN_METADATA(IID "Examples.Plugin.EchoInterface")
Q_INTERFACES(EchoInterface)

public:
EchoPlugin();
QString echo(const QString &message) Q_DECL_OVERRIDE;
};
Q_INTERFACES告诉Qt类实现的是哪个接口,它的参数可以有多个。
Q_PLUGIN_METADATA包含了我们刚才定义的IID。

同时可以看到,我们的EchoPlugin继承自QObject和EchoInterface。并且下面也有一个echo函数,这是我们要具体实现的纯虚函数。

9
现在来实现echoplugin.cpp文件。很简单:
#include "echoplugin.h"
#include <QtWidgets>

EchoPlugin::EchoPlugin()
{
}

QString EchoPlugin::echo(const QString &message)
{
return QString("process:")+message;
}
echo函数只是在参数前面加上了process然后直接返回了。

END
四、编写窗体程序的代码

1
widget.h的代码如下:
#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include "echointerface.h"
namespace Ui {
class Widget;
}

class Widget : public QWidget
{
Q_OBJECT

public:
explicit Widget(QWidget *parent = 0);
~Widget();

private slots:
void on_pushButton_send_clicked();

private:
Ui::Widget *ui;

EchoInterface *echoInterface;
bool loadPlugin();
};

#endif // WIDGET_H
我们定义了一个接口类的指针。以及一个loadPlugin函数。

2
widget.cpp代码:
#include "widget.h"
#include "ui_widget.h"
#include <QDir>
#include <QMessageBox>
#include <QtWidgets>

Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);

if (!loadPlugin())
{
QMessageBox::information(this, "Error", "Could not load the plugin");
ui->lineEdit_origin_msg->setEnabled(false);
ui->pushButton_send->setEnabled(false);
}
}

Widget::~Widget()
{
delete ui;
}

bool Widget::loadPlugin()
{
QDir pluginsDir(qApp->applicationDirPath());
pluginsDir.cd("plugins");
foreach (QString fileName, pluginsDir.entryList(QDir::Files))
{
QPluginLoader pluginLoader(pluginsDir.absoluteFilePath(fileName));
QObject *plugin = pluginLoader.instance();
if (plugin)
{
echoInterface = qobject_cast<EchoInterface *>(plugin);
if (echoInterface)
return true;
}
}

return false;
}

void Widget::on_pushButton_send_clicked()
{
QString ans=echoInterface->echo(ui->lineEdit_origin_msg->text());
ui->label_answer->setText(ans);
}
注意我们的载入插件函数,我们在窗口的初始化过程中调用了该函数。该函数找到插件文件后,通过QPluginLoader 对象进行载入,然后调用函数instance实例化类并返回一个QObject对象指针,然后通过一个静态强制转换为我们的接口类指针。
然后我们点击按钮时,就可以使用该指针调用echo函数处理文本框的字符串,并返回处理后的字符串。之后,在标签控件中显示出来。

END
五、构建项目,运行程序

我们分别在两个项目上右键,选择 构建 菜单。

构建完毕后,可以看到,我们的插件生成了。我们的窗体程序也生成了。

将生成的插件拷贝到生成的窗体程序的目录。

可以运行程序了。因为我们生成的是debug程序,所以我们在IDE中运行它。
右键将 EchoWindow设置为活跃项目。

然后点击运行,如果设为活跃后运行按钮时灰色,你可以先将项目套件设置为release,然后再换回来。
来看看运行的情况。看来我们的插件起作用了。

至于为什么插件是放在plugins文件夹中,是因为我们在编写plugin插件时pro文件的设置,更重要的是我们的loadPlugin函数是在可执行文件同级目录下的plugins文件夹中寻找,这才是根本。当然你可以修改该函数代码,把插件放在任何你想放置的地方。
好了,整个插件的编写过程到此结束。

⑶ 基于linux的新操作系统MeeGo,是什么意思

meego是nokia为智能手机设计的手机操作系统,也可以用于上网本、平板电脑等便携电脑设备。而meego这个系统的核心其实就是linux的内核,因为linux具有极佳的跨平台移植性能,所以直接用linux核心远远要比自己开发更高效、更稳定、更安全、更快捷。所以说meego基于linux一点都没错,所谓的“新”其实仅仅是界面比较新而已,而它的核心就是linux的kernel。

⑷ 关于安卓的java虚拟机是什么概念!!!百度写的太专业了!!!求解

恩,安卓的性能是在提升,但有上限,再怎么提升,软件也是运行在虚拟机上,代码也要经过字节码装载,进行校验,才能转换成机器码执行(这三个步骤都消耗时间、CPU和内存资源),即使开了JIT,也只是部分编译成机器码存起来。并且内存的垃圾回收机制,虽然对开发者来说省了事,但却维持这种回收机制也要耗资源。当然,也有优点,使用虚拟机,这对于跨平台来说,确实是很有益的。

⑸ 调用了shell脚本的Qt程序如何打包成.deb文件

大致过程:

* 把源码包解压缩到某个目录;

* 在源码目录内创建debian化目录 (./debian).

* 修改./debian目录内的文件,如包维护者的详细信息、包描述,等等;

* 在本机编译源代码;

* 在本机生成.deb包;


需要用到的工具:

* dh_make(dh-make包的一部分)——用于自动创建./debian目录和其他用于创建.deb包的骨架模板文件;

* make(Gnu make)——构建过程中要用到的工具;

* debchange/dch(devscripts包的一部分)——用于编辑包的版本号;

* debuild(devscripts包的一部分)——运行构建过程,包括编译连接,以及生成deb包;


可以参考

http://wenku..com/view/6f7e3665f5335a8102d22051.html

⑹ meego是什么系统

meego系统是一个由英特尔和诺基亚两个巨头共同开发的系统,目前周游诺基亚n9采用了这个系统,前景并不是很好,楼主没有见过的主要原因就是诺基亚n9的保有量实在是太少了,应用是个大问题啊!

MeeGO是英特尔和诺基亚合作推出的一个操作系统,在2010年巴塞罗纳举办的世界移动大会上首次发布,该项目整合英特尔的Moblin和诺基亚的Maemo两个系统,可以工作在更广泛的设备上——手机、电脑、笔记本电脑、上网本、平板电脑、智能电视、PTV机顶盒等。
MeeGo是开放源码的Linux项目,它把由Intel牵头的Moblin项目跟Nokia领导的Maemo项目结合到单一的开源实践中。它包含了性能 优化,可供面向计算和图形的应用及连接服务的开发的组件,对互联网标准的支持,基于Qt的易于使用的开发环境,以及面向小型平台及移动设备的规模和性能而 优化的最新的Linux架构。MeeGo目前适用的平台包括上网本、简易台式机、手持计算和通信设备、车载信息娱乐设备、上网电视、多媒体电话。

⑺ meego是什么系统

MeeGo是一种基于 Linux 的自由及开放源代码的便携设备 操作系统 。它在2010年2月的全球移动通信大会中发布,主要推动者为 诺基亚 与 英特尔 。MeeGo融合了诺基亚的 Maemo 及英特尔的 Moblin 平台,并由 Linux基金会 主导。MeeGo主要定位在移动设备、家电数码等消费类电子产品市场,可用于 智能手机 、 平板电脑 、 上网本 、 智能电视 和车载系统等平台。2011年9月28日,继诺基亚宣布放弃开发meego之后,英特尔也正式宣布将MeeGo与LiMo合并成为新的系统: Tizen 。2012年7月,在诺基亚的支持下, Jolla Mobile 公司成立。并基于Meego研发sailfish os,将在华发布新一代Jolla手机。

MeeGo系统采用无按键设计,与其他任何操作系统都不同。虽然和Android一样,是继续Linux,但是在流畅度方面,却远远超过了Android。此外,它也像诺基亚使用了多年的塞班系统一样,有着强大的多任务功能。

⑻ linux下的boost库的安装方法是什么

打开synaptic, 找到libboost-all-dev, 安装即可。

安装后可以查看boost相关库,在/usr/lib/目录下

如:/usr/lib/libboost_date_time.a /usr/lib/libboost_math_tr1f-mt.a /usr/lib/libboost_serialization-mt.so

/usr/lib/libboost_date_time-mt.a /usr/lib/libboost_math_tr1f-mt.so /usr/lib/libboost_serialization.so

/usr/lib/libboost_date_time-mt.so /usr/lib/libboost_math_tr1f.so /usr/lib/libboost_serialization.so.1.42.0

/usr/lib/libboost_date_time.so /usr/lib/libboost_math_tr1f.so.1.42.0 /usr/lib/libboost_signals.a

/usr/lib/libboost_date_time.so.1.42.0 /usr/lib/libboost_math_tr1l.a /usr/lib/libboost_signals-mt.a

/usr/lib/libboost_filesystem.a /usr/lib/libboost_math_tr1l-mt.a /usr/lib/libboost_signals-mt.so

/usr/lib/libboost_filesystem-mt.a /usr/lib/libboost_math_tr1l-mt.so /usr/lib/libboost_signals.so

/usr/lib/libboost_filesystem-mt.so /usr/lib/libboost_math_tr1l.so /usr/lib/libboost_signals.so.1.42.0

/usr/lib/libboost_filesystem.so /usr/lib/libboost_math_tr1l.so.1.42.0 /usr/lib/libboost_system.a

/usr/lib/libboost_filesystem.so.1.42.0 /usr/lib/libboost_math_tr1-mt.a /usr/lib/libboost_system-mt.a

/usr/lib/libboost_graph.a /usr/lib/libboost_math_tr1-mt.so /usr/lib/libboost_system-mt.so

/usr/lib/libboost_graph-mt.a /usr/lib/libboost_math_tr1.so /usr/lib/libboost_system.so

/usr/lib/libboost_graph-mt.so /usr/lib/libboost_math_tr1.so.1.42.0 /usr/lib/libboost_system.so.1.42.0

/usr/lib/libboost_graph.so /usr/lib/libboost_prg_exec_monitor.a /usr/lib/libboost_test_exec_monitor.a

/usr/lib/libboost_graph.so.1.42.0 /usr/lib/libboost_prg_exec_monitor-mt.a /usr/lib/libboost_test_exec_monitor-mt.a
复制代码头文件在/usr/include/boost下gnuser@ubuntu:~$ ls /usr/include/boost/

accumulators date_time.hpp io_fwd.hpp pointer_cast.hpp spirit

algorithm detail iostreams pointer_to_other.hpp spirit.hpp

aligned_storage.hpp dynamic_bitset is_placeholder.hpp pool statechart

any.hpp dynamic_bitset_fwd.hpp iterator preprocessor static_assert.hpp

archive dynamic_bitset.hpp iterator_adaptors.hpp preprocessor.hpp strong_typedef.hpp

array.hpp enable_shared_from_this.hpp iterator.hpp program_options swap.hpp

asio exception lambda program_options.hpp system
复制代码boost库命名:
比如libboost_regex-vc71-mt-d-1_34.lib,

lib: 库前缀,除了windows平台,都是这个前缀
boost_regex: boost的regex库
-mt 多线程支持
-d debug版本

⑼ 为什么说安卓是开源的系统啊

Andy Rubin创立了两个手机操作系统公司:Danger和Android。Danger 5亿美元卖给微软,今年成为了Kin,Android4千万美元卖给Google。 Android是Google于2007年11月05日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成。它采用软件堆层(Software Stack,又名软件叠层)的架构,主要分为三部分。底层以Linux内核工作为基础,由C语言开发,只提供基本功能;中间层包括函数库Library和虚拟机Virtual Machine,由C++开发。最上层是各种应用软件,包括通话程序,短信程序等,应用软件则由各公司自行开发,以Java作为编写程序的一部分。不存在任何以往阻碍移动产业创新的专有权障碍,号称是首个为移动终端打造的真正开放和完整的移动软件。 Google通过与软、硬件开发商、设备制造商、电信运营商等其他有 关各方结成深层次的合作伙伴关系,希望借助建立标准化、开放式的移动电话软件平台,在移动产业内形成一个开放式的生态系统。 Android 作为Google企业战略的重要组成部分,将进一步推进“随时随地为每个人提供信息”这一企业目标的实现。全球为数众多的移动电话用户正在使用各种基于 Android 的电话。谷歌的目标是让(移动通讯)不依赖于设备甚至平台。出于这个目的,Android 将补充,而不会替代谷歌长期以来奉行的移动发展战略:通过与全球各地的手机制造商和移动运营商结成合作伙伴,开发既有用又有吸引力的移动服务,并推广这些产品。

MeeGo是诺基亚和英特尔宣布推出一个免费手机操作系统,中文昵称米狗,该操作系统可在智能手机、笔记本电脑和电视等多种电子设备上运行,并有助于这些设备实现无缝集成。这种基于Linux的平台被称为MeeGo,融合了诺基亚的Maemo和英特尔的Moblin平台。诺基亚的执行副总裁Kai Oistamo表示,MeeGo适用于多种平台的能力使其显得与众不同,因此它不仅仅是一种新的手机操作系统。诺基亚公司近日宣布,除了最近即将上市的N8机型之外,所有其后上市的N系列旗舰手机将不再使用塞班操作系统,将转为使用基于Linux的MeeGo操作系统。

.该MeeGo项目很高兴地宣布:“第一天”的MeeGo手机用户体验的项目。 你们中许多人会记得这个“从3月1日,当我们第一次提出的MeeGo核心操作系统的源代码,并开始向MeeGo 1.0版本的开发”的概念。 如今,手机的基准源代码是提供给开发社区,此代码是积极发展MeeGo 1.1,这是在10月推出。该小组已准备MeeGo Gitorious所有的来源和基础设施进行每周一次的1.1版本的MeeGo发展。 该MeeGo用户界面小组还忙于创造手机参考用户经验,并编写了MeeGo用户界面设计原则和互动准则 。 这一里程碑标志着在Moblin和Maemo操作为主要架构和技术的选择决定合并完成已确定。 今天,我们也开放MeeGo基础设施建设 。

热点内容
dell服务器怎么装系统 发布:2025-05-14 00:50:52 浏览:592
csgo怎么进日本服务器 发布:2025-05-14 00:39:18 浏览:747
ip查服务器商家 发布:2025-05-14 00:33:37 浏览:212
云服务器布 发布:2025-05-14 00:27:55 浏览:78
吃鸡最佳配置怎么看 发布:2025-05-14 00:25:32 浏览:226
oraclesql效率 发布:2025-05-14 00:17:40 浏览:601
cifjava代码 发布:2025-05-14 00:10:34 浏览:214
泰国电视剧密码在哪里看 发布:2025-05-13 23:54:22 浏览:481
安卓用邮件下完保存在哪里 发布:2025-05-13 23:52:31 浏览:479
解压美食蛋糕 发布:2025-05-13 23:36:25 浏览:354