如何将com dll 编译生成一个lib库!

wilberchen 2005-07-13 11:58:12
现有一堆com dll,需要把它们转换为lib库.请教com高手,如何转换!
...全文
249 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
snowflyman 2005-07-20
  • 打赏
  • 举报
回复
恩,很有意思阿,关注
wshcdr 2005-07-19
  • 打赏
  • 举报
回复
呵呵,Bottol的方法是生成\\dll对应的lib文件.它记录的只不过是导出函数的入口地址.并不是我需要静态库!不过可以告诉大家一个好消息:我试验成功!用lib实现com是完全可能的!
///////////////////////////
com的先决条件之一就是可以动态链接,如果不具备动态链接的能力,如果组件进行了变动,比如升级,那么,客户端必须要进行重新编译,链接。这是明显不可能的.所以不可能用lib实现com。
wshcdr 2005-07-19
  • 打赏
  • 举报
回复
静态库也可以实现COM啦?
wilberchen 2005-07-18
  • 打赏
  • 举报
回复
呵呵,Bottol的方法是生成\\dll对应的lib文件.它记录的只不过是导出函数的入口地址.并不是我需要静态库!不过可以告诉大家一个好消息:我试验成功!用lib实现com是完全可能的!
Bottol 2005-07-15
  • 打赏
  • 举报
回复
已经有人教你如何变成lib文件了
然后你把exe源代码里面调用com的地方,全部改成调用普通函数一样,然后编译时候加上lib不就是静态编译了吗?
Igj1012 2005-07-14
  • 打赏
  • 举报
回复
不可能的。
一个变通的办法:
把COM都作为exe的资源,exe运行时先释放资源中的com,注册这些com
mdj_boy 2005-07-14
  • 打赏
  • 举报
回复
关注...
kingstar568 2005-07-14
  • 打赏
  • 举报
回复
我想问一下:既然变为静态库的方法行不通,可否不变为lib,但是要避免写注册表呢?例如,我们把com需要注册的信息都写在一个xml文件中,当需要用这些信息时再去xml中读.不过这样可能需要改写com库中涉及读注册表的涵数.这纯粹是我的想象,想听听各位的意见,谢谢!
wilberchen 2005-07-13
  • 打赏
  • 举报
回复
感谢,马上去试!
bohut 2005-07-13
  • 打赏
  • 举报
回复
如何从dll文件导出对应的lib文件?

Visual C++ 开发工具提供了两个命令行工具,一个是dumpbin.exe,另一个是lib.exe。利用这两个工具即可从dll导出其对应的lib。

1、在命令行执行:
dumpbin /exports yourdll.dll > yourdll.def

2、编辑 yourdll.def 文件,使之格式与.def文件格式一致。比如:

EXPORTS;
fn1;
fn2;

3、在命令行执行:
lib /def:yourdll.def /machine:i386 /out:yourdll.lib
wilberchen 2005-07-13
  • 打赏
  • 举报
回复
up
kingstar568 2005-07-13
  • 打赏
  • 举报
回复
用静态lib实现com!有人尝试过吗?
cdo 2005-07-13
  • 打赏
  • 举报
回复
up bohut(●伯虎● /*等待小生命的降临*/) 的
ncl1978 2005-07-13
  • 打赏
  • 举报
回复
up
wilberchen 2005-07-13
  • 打赏
  • 举报
回复
是想静态加载!现拥有的源代码是com dll,工程很大!现在需要做成零安装,所谓零安装,即是不需要安装,提供给用户的仅仅是一个exe file.so,我必须把所有dll嵌入在一个exe文件里.目前的思路是把所有dll都改成静态连接!但com不变,也即使使用lib来实现com.第一步工作是把com dll 转换成lib!这里向各路高手请教了!刚才bohut提供的shi是生成dll对应的lib吧,他能实现静态连接么!
goodboyws 2005-07-13
  • 打赏
  • 举报
回复
这个比较有挑战性,楼主直接建一个静态库工程,把有用的代码都加进去为上策
an_bachelor 2005-07-13
  • 打赏
  • 举报
回复
是想静态加载吧 不过对COM DLL有多大意义呢?
wilberchen 2005-07-13
  • 打赏
  • 举报
回复
我的目的是改动态连接为静态连接!

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧