标签:一个 pre AC 令行 依赖库 直接 利用 开发 开发工具
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
上述第1、2步中,导出的def文件需要修改后才能用来导出lib文件。这两步可以使用pexports一次解决:
pexports yourdll.dll > yourdll.def
pexports生成的def文件已经是标准格式,可以直接用lib工具生成lib文件。
有了上面的方法就可以给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就可以了。
标签:一个 pre AC 令行 依赖库 直接 利用 开发 开发工具
原文地址:https://www.cnblogs.com/kohlrabi/p/9153238.html