如何生成动态库 .dll 的符号 .lib 文件?

在知道拥有动态库和头文件的情况下,但没有动态库符号文件的情况下,如何静态链接动态库?
1.使用 Microsoft Visual Studio Tools 命令行命令生成 xxx.def 文件,进而使用 xxx.def 文件生成 xxx.lib 文件。

例子:

打开命令提示符

它可以在Visual Studio工具菜单项中找到:开始/程序文件/ Microsoft Visual Studio / Visual Studio工具/ Visual Studio命令提示符。

提取符号

在命令提示符下键入:

dumpbin / exports“C: Program Files  VideoLAN  VLC  libvlc.dll”>“C: Program Files  VideoLAN  VLC  libvlc.def”

编辑libvlc.def文件并修改它以获得如下内容:

EXPORTS 
libvlc_add_intf 
libvlc_audio_get_channel 
libvlc_audio_get_mute 
libvlc_audio_get_track 
libvlc_audio_get_track_count 
libvlc_audio_get_track_description 
libvlc_audio_get_volume 
...

或者,以下命令将自动生成DEF文件:

echo EXPORTS> libvlc.def 
for / f“usebackq tokens = 4,* delims = _”%i in(`dumpbin / exports“c: Program Files  VideoLan  VLC  libvlc.dll”`)如果%i = = = libvlc echo%i_%j >> libvlc.def

生成.lib

仍在命令提示符下键入:

lib / def:“C: Program Files  VideoLAN  VLC  libvlc.def”/ out:“C: Program Files  VideoLAN  VLC  libvlc.lib”/ machine:x86

当然,您需要根据您的配置调整路径。

瞧瞧!你拥有它,现在你可以在你的程序中链接libvlc.lib

https://wiki.videolan.org/GenerateLibFromDll/

原文地址:https://www.cnblogs.com/cheungxiongwei/p/10286808.html