第二版移植第三版后不能生成lib文件的解决办法

http://tech.ddvip.com   2008年09月06日    社区交流

内容摘要:昨天的 工作 是开始移植 我的程序 到 S60 3rd版本上。但是刚刚开始就遇到了 问题。我的DLL在 S60 3rd 上编译不过,可以生成 DLL,但不能生成 lib 。

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

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

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

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

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

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

  Not attempting to create "Symbian9.1S60_3rd_MREPOC32RELEASEWINSCWUDEBDemoDll.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文件也生成了

作者:sailor    责编:豆豆技术应用

正在加载评论...