Linux手机DIY.夏新E600移植飞利浦968的qnes模拟器
草木瓜 2006-10-26
一、序
飞利浦968的Qnes模拟器,不能在夏新E600上运行,这是众所周知的。自
从有了Shell这个入口,自然也清楚不能运行的具体原因!本文就是详细说明
怎样移植这个软件,移植软件究竟需要什么样的知识?
二、重要提示
为了方便更好的理解本文,提供下面链结。
全系列的文章地址,手机应用开发专栏:http://blog.csdn.net/liwei_cmg
相关的重要成果的下载地址:http://play.younet.com/view.php?tid=24045
三、方法
飞利浦968和夏新E600的系统是十分接近的,连可执行程序,库文件的版本
都是一致,全部是ARM 1.0指令集而且是基于Linux 2.0.0内核。移植软件无非是
处理可执行程序和相关库文件。好了我们实际操作下!
1.将飞利浦968能运行的模拟器原包qnes,用Alzip或7-zip工具解压缩,可以
建个目录比如就叫qnes,把这些解压缩获取的内容放在qnes目录下。
2.复制qnes整个目录到SD卡上。
3.安装http://play.younet.com/view.php?tid=24045里的_run.prg,运行后
修改SD卡shell目录下的shell.txt文件,内容如下:
#!/bin/sh
export CECHOME=/mnt/doc/cellon
export QTDIR=$CECHOME/qt
export QWS_KEYBOARD=TTY
export CECDIR=$CECHOME/cec
export LD_LIBRARY_PATH=/mnt/sd:$CECHOME/lib:$CECDIR/lib:$QTDIR/lib:/mnt/doc/ibm/jvm/bin:$LD_LIBRARY_PATH
export QWS_DISPLAY=:1:/dev/fb1
/mnt/sd/qnes/qnes 2>/mnt/sd/error.txt
可见最后一句是运行SD卡上qnes目录下的qnes可执行文件,并把错误信息写到
SD卡的根目录error.txt文件。
4.修改完上面内容的shell.txt后,再运行菜单里的模拟器,调用这个shell.txt
你会发现error.txt里面有了内容,肯定是以下内容:
/mnt/sd/qnes/qnes: error while loading shared libraries: libipm.so:
cannot open shared object file: No such file or directory
这是说明缺少libipm.so这个共享库文件,要从哪里搞到他,就需要从飞利浦
968那里搞了。
5.找到使用飞利浦968的用户,让他安装http://play.younet.com/view.php?tid=24045
里的_copy.prg,将所有文件复制出来,把这个libipm.so发过来。当然这是个很麻
烦的操作,毕竟我们只需要库文件。
6.获取这个libipm.so后,将他复制到SD卡的根目录下,注意上面的脚本的这行
内容:
export LD_LIBRARY_PATH=/mnt/sd:$CECHOME/lib:$CECDIR/lib:$QTDIR/lib:/mnt/doc/ibm/jvm/bin:$LD_LIBRARY_PATH
我已经把SD卡这个搜索目录给加进去了,所以复制后再点模拟器运行,这时或许
在error.txt里还会出现一些so文件找不着,没关系,重复第五步操作,直至能运行
模拟器为止。
四.总结
以上的步骤是我的推论,我估计qnes能完美运行,有兴趣的人可以试下,这就
是所谓的移植软件,当然也是最简单的。不过复杂也好,简单也好,思想总归是一
致的。