首 页 | 新 闻 | Symbian | Android| Windows Mobile | J2ME | 下载中心 | 游戏策划招聘与求职 | 购书指南 | 视频教程
您现在的位置: 开发视界 >> Symbian >> Symbian入门 >> 文章正文
第二版移植第三版后不能生成lib文件的解决办法
作者:sailor    文章来源:http://198334.blog.chinajavaworld.com/entry/4776/0/    更新时间:2008-5-28 17:41:05

昨天的 工作 是开始移植 我的程序 到 S60 3rd版本上。

但是刚刚开始就遇到了 问题。我的DLL在 S60 3rd 上编译不过,可以生成 DLL,但不能生成 lib 。

这让我头大了不 少。我也是第一次做移植工作。SYMBIAN上的资料本来就少的可怜。同事们帮忙看了一下,也没有结果。

下班的路上一直在思考,为什么不行?

晚上回去吃了饭,因为家里有邻居在,就没好意思开电脑继续工作。一直等到邻居走后,赶紧打开电脑找什么原因。

我用 Carbide C++ 1.3 创建了 一个 “Basic dynamically linked library(DLL)”的工程不写任何的代码。编译 这是也出现我的 错误:

Not attempting to create "\Symbian\9.1\S60_3rd_MR\EPOC32\RELEASE\WINSCW\UDEB\DemoDll.lib".

晕的不行了。为什么呢??

然后我找到了 SDK 中的例子。这个例子也是DLL,然后导入工程,编译!编译通过。有希望了。这可以判断至少开发环境应该是没有任何问题的。不然这个不会编译过。

接着我对比了 两个工程的 BLD文件和 MMP文件。没有发现什么问题。

又晕,为什么呢??

我查看了两个工程目录下的文件。能编译过的下面有两个文件(BWINS和EABI)里面有一个 .def的文件。

上网查了一下这个文件的作用:

原因是血少DEF文件。

可以使用abld freeze生成相应平台的DEF文件.

abld [ test ] freeze [-k] [-v] [ platform ] [ program ]

bldmake bldfiles //生成abld文件
abld makefile vc6  //生成工程文件
abld freeze   //封版本吧

然后程序就可以编译通过,而且LIB文件也生成了

相关文章:
没有相关文章