昨天的 工作 是开始移植 我的程序 到 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文件也生成了
如果喜欢第二版移植第三版后不能生成lib文件的解决办法 - symbian请收藏或告诉您的好朋友.
阅读(135) | 评论(0) | 转发(0) |