DLL:导出LIB,修改名字

用VS工具从dll导出lib

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

  1. 在VS命令行工具中执行:
dumpbin /exports yourdll.dll > yourdll.def 
  1. 编辑yourdll.def文件,使之格式与.def文件格式一致。比如:
LIBRARY yourdll.dll
EXPORTS 
fn1
fn2
  1. 在命令行执行:
lib /def:yourdll.def /machine:x64 /out:yourdll.lib

pexports工具

上述第1、2步中,导出的def文件需要修改后才能用来导出lib文件。这两步可以使用pexports一次解决:

pexports yourdll.dll > yourdll.def

pexports生成的def文件已经是标准格式,可以直接用lib工具生成lib文件。

dll库改名

有了上面的方法就可以给dll库改名了,假设想把库the_old_name.dll改为name.dll:

  1. 先用dll导出def:
pexports the_old_name.dll > name.def
  1. 修改def中LIBRARY后的名称
LIBRARY the_old_name.dll --> LIBRARY name.dll
  1. 用修改后的def导出新的lib
lib /def:name.def /machine:x64 /out:name.lib

用上面的name.lib作为导入库的程序,会以name.dll作为依赖库。再将the_old_name.dll改为name.dll就可以了。

posted @ 2018-06-07 22:56  Droplet  阅读(1650)  评论(0编辑  收藏  举报