昨天终于搭建好了M8的应用程序开发平台,今天测试了一个基本上空的示例程序并且打包成cab成功安装在手机上。中间出现了几次问题,解决之后,列举如下:
1. 有两种方法来建立M8智能手机项目:
   1) 直接使用VS2008智能项目建立M8智能手机项目,在 Visual Studio 2008的主菜单中选择File-New – Project. 在对话框中选择“Visual C++” – “Smart Device”中的“Win32 Smart Device Project”,填写工程名称,选择OK。
   2)安装 Meizu M8 Application Wizard,然后在 Visual Studio 2008的主菜单中选择File-New – Project. 在对话框中选择“Visual C++” - “Meizu M8 Device MZFC APP”,填写工程名称,选择OK。  
   仔细分析两种方法生成的源代码即可发现,其实两者是完全相同的,相比来说第二种方法更方便一下,因为他已经对项目进行了配置,比如说已经将库文件加进来。
2. 刚才说到第二种方法比较方便,但是第二种方法存在一个问题,就是生成的原程序直接编译的话会出现“无法解析的外部命令”错误,那是因为程序中声明了这些函数但是却没有实现他们,你可以直接删掉这些程序的声明,也可以给这些函数添加实现,但是如果你还不是很明白这些函数的用处,最好是直接删掉,否则可能会出现难以察觉的问题,我开始的时候就给他们进行了空的定义,程序编译没错,但是却无法运行。
3. 制作cab
   1)打开目标项目,通过“文件“菜单”-“新建”创建智能设备CAB项目
![]()
2)选中创建的CAB项目,通过“视图” - “其他窗口” - “属性窗口”,打开属性窗口。
![]()
    在这里补充属性信息,一定不要有中文,否则或出现后面的错误。ProductName改为主项目的项目名称。
    3)右键点击CAB项目,通过“视图”-“文件系统”制定程序安装位置,以及制定程序文件和图标
    具体方法是在中间“目标计算机上的文件系统”上建立程序安装位置,建设如图创建HelloWord文件夹,创建好之后,需要制定应用程序文件和图标文件,方法为右键点击HelloWord文件夹,选择“添加”,将HelloWord.exe和HelloWord.png添加进来。
![]()
 在生成CAB时可能会出现Error: The INF file contains Unicode characters that could not be converted correctly to ANSI。可能是smart项目下的inf文件中含有中文,检查一下是不是有些属性没有填写完整,而使用了中文默认值。
    4)添加注册表项目注意,右键点击CAB项目,通过“视图”-“注册表”制定注册表。
    注册表键值可以参考Meizu M8 SDK Document。
    生成GUID需要用到工具guidgen.exe,此程序可以在VS2008安装目录下搜索得到。
![]()
  5)右键点击CAB项目生成即可下载到手机上安装了。