关键字:Nokia N-gage,诺基亚手机编程,Symbian Series60程序开发,Symbian C++
[阿赖原作文章,转贴请注明本贴网址出处]
拿到小N之后装软件,装中文,玩游戏,一直摆弄了几天,没什么新鲜感了就开始琢磨编个在手机上运行的程序。N-gage采用的是Sybian6.1的操作系统,可以选择visual C++或Java作为开发工具,相关的SDK文档可在诺基亚论坛免费下载。
咱也不例外,作为入门的第一步当然是最简单的"hello world"程序。万事开头难,笨人之前没接触过VC++,一切从头开始,在网上找资料,看诺基亚论坛上的开发文档,然后准备开发环境,调试编译.....为了生成一个能在n-gage上运行的hello world程序,还颇费了一番的周折。
首先是到诺基亚论坛下载相关的SDK进行安装,网上找到一篇前辈们总结出来的文章《S60编程环境的建立》写得很好,按上面说的步骤去做即可。诺基亚的SDK有for java的,有for C++的,其中又有适用不同目标设备的各种版本。我看到最新版S60 SDK是V2.1,还支持Visual C++ .NET,我总以为最新的就是最好的,但最后证明了我的想法是错的。 我装上后编译hello world在模拟器上成功运行,但生成SIS文件,拷贝到N-Gage上安装时得到提示“程序可能与系统不兼容,是否继续安装”,继续安装完了之后在菜单里没有看到程序图标,进入System\APPS目录能看到helloworld程序,执行它结果是“App closed!System Error”,这时我才注意到这个版本的SDK是Symbian7.0系统的,生成的程序不能在N-Gage上运行。我不得不重新下载安装SDK。
御载最新的V2.1,我装上最低的版本V0.9 Chinese,说是中文版其实除了模拟器是中文外,我还真找不到哪里还有中文的,SDK文档里面一个中文也没有,唉,象咱E文水平差的只能硬着头皮啃了!
在命令提示符下进入hello world示例程序的\group目录运行
bldmake bldfiles
生成abld.bat,接着运行
abld build wins udeb
运行失败,只见一大堆的提示,其中有"nmake不是内部或外部命令,也不是可运行的程序或批处理文件。不是外部命令"等。我改用Visual C++,用向导"Series60 APP Wizard"来生成一个应用框架,但是到最后却提示"....the specified project could not be inserted into the current workspace",无法打开项目。My god,这些操作我在装SDK2.1后都试过没问题的啊,这回怎么不灵了呢!除了郁闷还是郁闷,大概是咱们功夫还不到家吧,啃了两天SDK文档,后来上网看相关文章时,不经意捡到一根救命稻草--《series60 SDK安装及环境配置中的错误及其解决方法》,呵呵,原来是改一下系统环境变量,将...Microsoft Visual Studio\VC98\Bin和...Microsoft Visual Studio\Common\MSDev98\Bin目录添加到path就可以解决上面两个问题(根据你的VS安装路径补全省略的部分,目录间用分号分隔)。
接下来就简单了:
命令行执行:abld build thumb urel
进入helloworld.pkg所在目录,执行: makesis helloworld.pkg
生成了helloworld.sis,拷贝到N-Gage上安装运行。
折腾了几天,我这个菜鸟终于可以向世人宣布我也可以编写在手机运行的程序了!!