迷你5207专属论坛

注册

 

发新话题 回复该主题

[魅族M8] 魅族M8SDK学习之开篇环境的搭建 [复制链接]

发表者
因为iphone对魅族手机M8有种向往,去年已经公测并且发布了SDK,自从知道M8后就一直关注着。希望M8能像Iphone一样开个软件商店好让国内的程序员也赚一小笔零花钱。呵呵。也是没有办法,一方面只对微软的技术熟悉一些,另一方面好像只有windows Ce的平台比较接近于我们大众,像iphone的都是要很多手续才能得到,还必须在apple上开发,郁闷惨了。

于是魅族M8成了一块心动的小天地。 最初拿到sdk有点兴奋因为里面会有模拟器,想到里面会有很多的新鲜玩意,如魅族的UI和神奇的重力感应等。可在下载sdk当天还有点小插曲,还好顺利下载了并很快安装,安装时我只有vs2008,但sdk的文档说明要使用vs2005sp1,没当回事,结果失败了。整来整去还是装成功了解决办法很笨(http://www.mini188.com/showtopic-880.aspx)。

 安装成功后,按照说明建立了第一个工程,就是按照sdk的说明做就是了,把魅族提供的例子复制过来,这就不多说了,就是有一点麻烦编绎时会报个错异常信息如下:
fatal error C1010: unexpected end of file while looking for precompiled header. Did you forget to add '#include "stdafx.h"' to your source?        c:\Documents and Settings\Administrator\My Documents\Visual Studio 2005\Projects\M8SDK_Test\M8SDK_Test\M8SDK_Test.cpp
这个问题解决很简单,在网络上有很多,其实就是要加上 stdafx.h,具体请看解决办法

到了这一步就可以编绎了,会提示选择模拟器,这个就不用多说了选M8SDK Emulator,运行后让人有点郁闷,模拟器的高度几乎对不起观众,无法按到M键。可恨。魅族这么做不知道是图什么?但还是看到了程序运行的效果,可一操作更郁闷,简单不能动,这可郁闷惨了。难道模拟器配置时参数配的太差?总之很慢,一个动作要持续好几秒。算了,也许是测试版弄出来让大家看看样子的。

但后来有网友解决模拟器显示样式问题(解决方法) 回过头来看了看代码,才反应过来哦原来是用c++整的,这下可有点郁闷了,c++我基本不会。 从头到尾看了一遍代码很吃力,对于c++的语法格式简直谈不上整洁,加上魅族的注释也多感觉很乱,但至少是看的懂。就是对#define这种用法不是很熟,总是要F12跟过去看看到底是个啥玩意。。。@@#)R#*&@ 起初的心情凉了不少,一直都是用各种R&D的IDE都是封装好了很多控件直接拖拽的,这回可好了要自己去算坐标了,一下子不适应。

这一弄还是了解了一点点东西:

1、类CMzApp 这个类魅族的应用程序基类,此类就是程序的入口所在了,在Sample1的代码中可以看到:
  1. // 从CMzApp派生主应用程序类
  2. class CSample1App: public CMzApp《======继承CMzApp
  3. {
  4. public:
  5. // 主窗口变量
  6. CSample1MainWnd m_MainWnd;

  7. // 重载Init函数
  8. virtual BOOL Init()
  9. {
  10. CoInitializeEx(0, COINIT_MULTITHREADED);
  11. //创建主窗口
  12. RECT rcWork = MzGetWorkArea();
  13. m_MainWnd.Create(rcWork.left,rcWork.top,RECT_WIDTH(rcWork),RECT_HEIGHT(rcWork), 0, 0, 0);
  14. m_MainWnd.SetBgColor(MzGetThemeColor(TCI_WINDOW_BG));
  15. m_MainWnd.Show();

  16. return TRUE;
  17. }
  18. };


  19. // 应用程序全局变量
  20. CSample1App theApp; 《=====程序主是从这里开始的<br>
复制代码

已经说明清楚了吧,下面是帮助文档里的一句说明:if you write an application with MZFC library, please derive your application class from CMzApp. 。

2、类CMzWndEx 这个是samlpe1使用的主窗口所继承的类,是魅族M8sdk的窗口类,写窗口就从他开始咯。

3、帮助文档 看了下魅族的帮助文档,在您安装sdk的目录\Windows CE Tools\wce600\M8SDK\Samples 下就能看到 Meizu M8 MZFC Documentation (CHS).chm Meizu M8 PlatformAPI Documentation (CHS).chm Meizu M8 COM Documentation (CHS).chm 新的sdk增加了英文版的文档 可以说这些帮助文档真的帮助不大!~说明太少了。希望以后能多一些。

 4、sdk的类结构 具体的结构倒是可以看文档Meizu M8 MZFC Documentation (CHS).chm,有继承关系,在这里主要是说一下UiWin这个类。 可以看到sdk里面主要的控件都是从这个类继承下来的,MZFC的UI控件基类,如UiButton。

 总结 简单的了解之后心里有些底了,看来出了sdk也不见得能快速的写程序,还要学习T_T。慢慢来,本文作为魅族M8sdk学习系列的开篇,接下来将使用一个简单的例子来加强下,顺便整理成文记录一下也好与大家交流。

作者:5207
出处:http://www.mini188.com
本文版权归作者所有,欢迎转载请注明出处,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

本主题由 皇帝 5207 于 2010-12-27 22:53:31 执行 设置高亮 操作
分享 转发
相信与不相信都是矛盾的.  5207宣!欢迎您来到点滴论坛
TOP
沙发

支持一下了!!!我什么都不会哈。但想学搞小软件
TOP
凳子

回复 2# lovehuiping 的帖子

嗯。只要用心慢慢就学会了。
相信与不相信都是矛盾的.  5207宣!欢迎您来到点滴论坛
TOP
地板

我也和沙发一样。什么都不会。连最起码的安装都安装不成功。。郁闷之极!!想努力为魅族做点什么!!希望大大放出更好的开发教程!!
TOP
5#

努力看大大教程中。。。
TOP
6#

回复 5# leipuo123 的帖子

多尝试,光看是很难学会的,多多动手,失败的多了也就成功了
相信与不相信都是矛盾的.  5207宣!欢迎您来到点滴论坛
TOP
7#

看到你的帖子是一年前的文章,而回复寥寥无几,很心寒啊!
我还是个学生,而且跟编程完全不沾边,呵呵!一直想为M8开发一个小软件!
以后还需要版主多多指教!
TOP
8#

回复 7# Insomina 的帖子

谢谢,论坛人气不好,还望多多支持。。

文章写的不是很仔细,都是基础的知识。写M8的软件不会很难,多去了解,多去尝试就好。

多多交流。。
相信与不相信都是矛盾的.  5207宣!欢迎您来到点滴论坛
TOP
9#

请问下2005+sp1怎么装啊?我都装不上
TOP
10#

回复 9# tian 的帖子

就是点安装,没能特别的。。。sp1安装是会非常的慢,大概要1-2小时。所以这个过程不要关闭安装程序
相信与不相信都是矛盾的.  5207宣!欢迎您来到点滴论坛
TOP
11#

可 我装是出错了?能否把你的安装程序给我用下?
TOP
12#

回复 11# tian 的帖子

怎么可能,几个G呢。你到微软去下载呀。。下载正版的,直接装vs2008不是更好啊。。
vs2008的下载地址
相信与不相信都是矛盾的.  5207宣!欢迎您来到点滴论坛
TOP
13#

vs2008有用吗?我试试
TOP
14#

为什么我用vs2008创建新项目老是失败呢
我是根据Meizu M8 SDK Documentation (CHS)里的介绍创建的。。

例:项目类型选择:智能设备
      
模板选择:Win32 智能设备
      
输入项目的名称,例如:M8Sample

点确定后就提示失败,然后就无法继续了。。
求解
TOP
15#

回复 14# xingyuexi 的帖子

相信与不相信都是矛盾的.  5207宣!欢迎您来到点滴论坛
TOP
16#

回复 13# tian 的帖子

vs2008当然有用了。。。。我现在就用的vs2008
相信与不相信都是矛盾的.  5207宣!欢迎您来到点滴论坛
TOP
17#

1>C:\Program Files\Windows CE Tools\wce600\M8SDK\include\ARMV4I\malloc.h(45) : error C2143: syntax error : missing ',' before '*'
1>D:\Microsoft Visual Studio 8\VC\ce\include\cwchar(75) : error C2039: 'wcsftime' : is not a member of '`global namespace''
1>D:\Microsoft Visual Studio 8\VC\ce\include\cwchar(75) : error C2873: 'wcsftime' : symbol cannot be used in a usng-declaration

SDK的第一个SAMPLE
编译出错3个
TOP
发新话题 回复该主题