怀着对移动互联网的向往,本人打算学习一下手机上的开发。只可惜本人只是对c语言熟悉些,所以只能从Symbian开始了,明明知道这是一个即将死去的平台,还要花时间去学习他,真是杯具,看着搞Android得,很是羡慕,没办法,生活中总是有太多的无奈。Symbian,早听说是个很乱的平台,接触了十几天,不得不承认,symbian确实比较乱;虽然高人说语言平台什么的都是浮云,基础才是最重要的,但我觉得这都是理论上的,解决一个问题,既然能用简单的,为什么要搞得那么复杂,这一点Nokia与MS比起来确实差远了,身边骂Nokia乱的人也是不绝人耳;甚至当你解决一个问题折腾了半天才搞定时你发一声感叹:Nokia要是直接把它设成默认就不用在这浪费时间了,旁边的人会笑着对你说:要这么聪明,这就不是Nokia了。Nokia这样搞真是很费时间,提高了入门的难度,就是在入门过程中会碰到很多细节上的问题,下面就总结一下本人这些天学习中遇见的一些问题,应该说很多网上也能找到解决方式:
1、安装问题,所有的文件都要安装在一个盘符下,安装目录还不能太长,还不能带空格,工程也必须放在安装盘符下,这点很变态,本人把sdk安装在了非系统盘,当在cmd下输入epoc32验证emulator安装是否成功时,很遗憾的是你看不到,即使你把epoc32所在的目录加入环境变量中依然如此,很奇怪吧,你必须得更改cmd当前目录的路径为sdk安装盘符才行,不得不说Nokia够变态,不知道他们有没有测试人员,这点貌似是学Linux文件系统(所有文件都在root / 下)的方式;当你安装完了,你会想OK可以开始Hello World程序了,只可惜当你用carbide向导新建一个控制台程序时竟然编译不通过,极大的打击你的学习信心,以至于搞了n多年c/c++的人来搞symbian时折腾了一整天Hello World还没出来,你说这不是很可悲吗?Google一番,找了很久才知道需要在开始中 Symbian Foundation -> Carbide c++ -> configure environment for winscw command line配置一下,只管YES就行。就这些问题,我折腾了整整一天,也是我入职第一天干的所有的事,我仅仅才装了sdk v5的,不知道装多个版本的sdk还会遇到什么问题。太浪费时间了,可惜了我的青春,貌似我的青春也不怎么之前,哈哈。
2、字符编码问题,这个也折腾了我一两天。因为要读取xp下的一个含有汉字的.txt文件显示到emulator,看起来貌似是比较简单的问题,可惜总是显示乱码,google一下找到了解决方法,很可惜的是依然乱码,自信心备受打击,折腾了很久,找了个牛人来帮忙解决,看了程序也没有问题呀,最后他说很有可能是模拟器本身的语言问题,最后在 开始->s60 developer tools->5th edition sdk->languages->change to chinese,重新运行正常,就这点小问题,哎,不想说了,其中这牛人写了几句代码中调用一sdk中函数参数明明是匹配的却编译失败提示argument not match,至此还没搞明白是什么原因。
3、链接问题,很多常用的库都需要手动添加,可能是为了减少整个exe文件的大小吧,不过入门时要是没人指导会折腾很长时间,经常会缺少某个库,就拿上面读取txt文件时sdk中基本的文件操作类没有读取一行的API,还得另找一个类;高人帮解决问题时用到fopen函数竟然会在运行时导致模拟器死掉,也是因为缺少一个库,貌似还是个动态链接库,要不然也不会运行时挂掉。
只能说Symbian刚开始入门需要高人指导,仅有google还不行,nokia应该感谢google,要是没有google,nokia死的更快。
Nokia已经站在了死亡的边沿上,正在被别人革它的命。前些天看见一句话觉得很有道理:创业期的公司要专注;发展中的企业要适度多元化,要不然做不大;壮大的企业要敢于革自己的命,要不然就会被别人革命。