DLL:导出LIB,修改名字
用VS工具从dll导出lib
VS开发工具提供了两个命令行工具,一个是dumpbin.exe,另一个是lib.exe。利用这两个
工具即可从dll导出其对应的lib。
- 在VS命令行工具中执行:
dumpbin /exports yourdll.dll > yourdll.def
- 编辑yourdll.def文件,使之格式与.def文件格式一致。比如:
LIBRARY yourdll.dll
EXPORTS
fn1
fn2
- 在命令行执行:
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:
- 先用dll导出def:
pexports the_old_name.dll > name.def
- 修改def中LIBRARY后的名称
LIBRARY the_old_name.dll --> LIBRARY name.dll
- 用修改后的def导出新的lib
lib /def:name.def /machine:x64 /out:name.lib
用上面的name.lib作为导入库的程序,会以name.dll作为依赖库。再将the_old_name.dll改为name.dll就可以了。