在 Symbian 中开发 EXE 类型的 GUI 程序,由于资料的缺乏,注定会走不少弯路,但是走过去之后,会有豁然开朗的感觉。
最具参考价值的一篇文章为:Displaying graphics in Symbian exe programs。
如果你是在 S60 系列的 SDK 下进行开发,而恰好又选择了以上文中提到的第二种方案在模拟器中调试程序,则有可能会遇到链接时找不到 RegisterWsExe 函数的情况。其原因在于该函数位于 wserv.lib 中,而 S60 SDK 里并不存在该导入库。解决的办法是,从 UIQ 版本的 SDK 中复制一份过来。
再进行链接,则有可能出现另外一个问题,链接器报告以下错误:
eexe.lib(UP_EXE.obj) : fatal error LNK1103: debugging information corrupt; recompile module
开始的时候老汉也百思不得其解,后来到导入库所在的目录下浏览时发现,除了 eexe.lib 之外,还有另外的两个导入库,分别命名为 eexe_vc6.lib 和 eexe_vc7.lib。老汉根据自己的开发环境使用 eexe_vc6.lib 代替了 eexe.lib,果然一举成功。