Visual C++ 开发工具提供了两个命令行工具,一个是dumpbin.exe,另一个是lib.exe。利用这两个工具即可从dll导出其对应的lib。
方法一:用 dumpbin 导出符号表,再用 lib 生成(最常用)
- 打开开发者命令提示符 (确保
dumpbin.exe和lib.exe在 PATH 中)。 - 进入
libmpv-2.dll所在目录。 - 导出符号表 :
dumpbin /exports libmpv-2.dll > mpv.def - 手动编辑
mpv.def,在文件开头加上LIBRARY libmpv-2.dll,并只保留EXPORTS行下方的函数名(去掉地址和序号列)。 - 生成导入库 :
lib /def:mpv.def /out:mpv.lib /MACHINE:X64
这样生成的
mpv.lib可以直接在 MSVC 工程中链接,同时需要把libmpv-2.dll放到可执行文件同目录。
方法二:直接使用 MSVC 的 lib.exe 从 DLL 生成(部分版本支持)
某些 Visual Studio 版本(如 VS2015+)的 lib.exe 支持直接处理 DLL 生成导入库:
lib /def:libmpv-2.dll /out:mpv.lib /MACHINE:X64
这条命令会自动分析 DLL 导出表生成 .lib 和 .exp 文件。如果你的 lib.exe 版本支持 /def: 参数,可以尝试这种方式,比手动编辑 .def 文件更省事。