vs 怎么根据dll 生成lib文件

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

方法一:用 dumpbin 导出符号表,再用 lib 生成(最常用)

  1. ‌打开开发者命令提示符 ‌(确保 dumpbin.exe 和 lib.exe 在 PATH 中)。
  2. ‌进入 libmpv-2.dll 所在目录‌。
  3. ‌导出符号表 ‌:dumpbin /exports libmpv-2.dll > mpv.def
  4. ‌手动编辑 mpv.def ‌,在文件开头加上 LIBRARY libmpv-2.dll,并只保留 EXPORTS 行下方的函数名(去掉地址和序号列)。
  5. ‌生成导入库 ‌: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 文件更省事。

相关推荐
octopus_c38 分钟前
C++ 运算符重载详解 && 日期类的实现
开发语言·c++
青少儿编程课堂40 分钟前
2026蓝桥杯·全国青少年信息素养大赛·电子学会Python/C++考级:堆排序与优先队列解析
c++·python·算法·bfs·信息学竞赛
j7~1 小时前
【C++ 面试笔记】(篇二):类与数据抽象 & STL 容器与算法
开发语言·c++·面试·stl容器和算法·类和数据抽象
Fuyo_11191 小时前
深入解析 C++ unordered_set 与 unordered_map 的核心特性与性能实战
开发语言·c++
码匠许师傅1 小时前
【C++三方组件】FFmpeg:音视频处理的瑞士军刀
c++·ffmpeg·音视频
ShineWinsu2 小时前
对于Qt:QPushButton常见属性的解析
开发语言·c++·qt·api·gui·按钮·qpushbutton
飞浪纪元[FWC–FE]2 小时前
Qt 工程创建与 CMake / qmake 构建规范
开发语言·数据库·qt
Lhan.zzZ2 小时前
用 Qt 构建线程安全的通讯静态库:从线程亲和性到完整工程
c++·vscode·qt·tcp/ip·udp
xiaoye-duck2 小时前
《C++ 项目:手写大模型接入 SDK》DeepSeek接口设计(上):初始化和全量响应
开发语言·网络·c++·语言模型
fpcc2 小时前
跟我学c++中级篇—streambuf在glog中的应用分析
开发语言·c++