如何得到DLL的LIB?

potatopro 2000-08-01 05:38:00
我编了一个DLL,但不知如何得到相应的LIB,请大家帮忙.
(也许已前有人问过,麻烦知道的再回答一下.)
...全文
1136 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
potatopro 2000-08-19
  • 打赏
  • 举报
回复
升到IE5,可以给分了。
区区分数,不成敬意。再次感谢大家。
potatopro 2000-08-16
  • 打赏
  • 举报
回复
因为任务急,我先用动态调用对付过去了。这几天也忙着干活,到现在才来回复,对不起大家了。看到这么多热心大虾,感动得我热泪盈眶(已经流下来了,咦,怎么象口水...)。
对VC我完全是个新手(没写过WIN32程序),这几天用MSDN恶补了一把,感觉明白了一些问题,但又有不少新的疑惑,希望众高手再予指点。
不同编译系统编制的EXE调用不同编译系统编制的程DLL肯定是可以的(这本来就是DLL的目的),只要编译系统都支持标准DLL,用API可以动态调用。
至于静态调用,C++ BUILDER有个工具IMPLIB,可以生成DLL的LIB。我本来以为VC下也有类似工具,可能不是这个名字,故提此问题,现在才知道不是这么简单。据我理解和实践,用VC开发DLL,且包含了DEF,编译才自动生成LIB FOR VC(我本来就用的是__declspec(dllexport) __stdcall但没有反应),对于其他开发系统的DLL则无能为力。若要静态调用,可以在VC下也编一个同名但空的DLL,加入DEF编译生成LIB(同CREATIVE所说),或直接用工具lib /def:xxx.def [/out:xxx.lib]生成(同RAINING所说)。至于VC为什么要DEF,我还没明白。
以上所述,不知正确与否,请大家指正。
BTW,进入此页,产生了一个脚本错误,结果我看不到给分输入框,也即不能给分,是IE版本问题还是其他什么原因?
raining 2000-08-11
  • 打赏
  • 举报
回复
不一定管用,因为我没有用bcb写过DLL.你先试试
如果你的库叫 xxx.dll
1.dumpbin /exports xxx.dll > xxx.def
2.修改 xxx.def 文件, 保留Function名称,其他的都删掉。
LIBRARY XXX
EXPORTS
Function1
Function2

3.lib /def:xxx.def [/out:xxx.lib]
creative 2000-08-10
  • 打赏
  • 举报
回复
用VC编写dll,只需用.def文件或__declspec(dllexport)关键字输出你希望其他应用调用的函数,lib文件就会自动生成,现将第一种方法列出,具体如下
1)---//your.def
LIBRARY yourdllname
EXPORTS
func1
func2

另外附带一点,请明确你的输出函数采用的调用规则:一般 __cdecl or __stdcall。
wolfop 2000-08-09
  • 打赏
  • 举报
回复
和, 不一定要用lib输入库嘛, 可以用def文件的啊, 你自己些的dll, 当然知道有什么输出
函数了, 写一个def文件不就可以了. 就能和用lib一样.
注意, 泥的函数必须申明为stdcall, 否则C++的从新命名规则, 很麻烦的.
我记得delphi的文档中有将这些开发工具如何互相使用对方的库.

顺便告诉thinker, vc生成的lib是coff的,而bcb要求是omf的 , 你得用implib或者
coff2omf让他变成bcb可以用的omf库

thinkers 2000-08-08
  • 打赏
  • 举报
回复
可怜!!!
我用vc给人写了一个dll,跑到bcb中也无法使用,bcb说lib不认识!
有谁解决了此问题吗?
急急急!!!
potatopro 2000-08-07
  • 打赏
  • 举报
回复
VC高手们,帮帮我这个总也入不了门的吧.
难道你们只用VC写的DLL?
cqjiang 2000-08-07
  • 打赏
  • 举报
回复
正规DLL在VC和BCB之间才能相互调用。
Ray_czh 2000-08-07
  • 打赏
  • 举报
回复
我想这种方法可能从一开始就是个错误,写DLL来实现跨语言是可能的吗?我想在WINDOWS平台下,你只有写出COM的DLL来才可以做到。
potatopro 2000-08-03
  • 打赏
  • 举报
回复
不好意思,我没说清楚.
我是用c++builder写的,但要给使vc的同伴用.本来可以动态调用,但为了方便,希望静态调用.
我的意思是vc能不能生成现有的dll的lib?该如何做?
oldcowboy 2000-08-01
  • 打赏
  • 举报
回复
好象编译后就有相应的 .lib吧
WHQ 2000-08-01
  • 打赏
  • 举报
回复
如果你用VC开发的,那在连接后会自动生成LIB

16,467

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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