c++通過dll生成lib
在使用一些沒有lib的第三方庫,又懶得顯示載入時,根據dll生成lib就可以解決這個問題。
工具:VS2010, VLC的libvlc.dll
- 開啟工具 Visual Studio Tools command promopt (Start -> All Programs-> Microsoft Visual Studio 2010 -> Visual Studio Tools -> Visual Studio Command Prompt).
2.生成 .def檔案,如果Dll檔案已經存在對應的.def檔案,這一步可以省略。使用dumpbin命令生成對應的.def檔案:dumpbin /exports libvlc.dll,顯示如下:
建立一個.def檔案(我的是 libvlc.def), 編輯該檔案,將上述紅框內的函式名複製到該檔案中,在首行中新增EXPORTS,如下圖:
3.生成.lib。使用 visual studio command prompt命令視窗,執行如下命令:
lib /def:libvlc.def /out:libvlc.lib /machine:x86
lib命令說明:
usage: LIB [options] [files]
options:
/DEF[:filename]
/EXPORT:symbol
/EXTRACT:membername
/INCLUDE:symbol
/LIBPATH:dir
/LIST[:filename]
/MACHINE:{AM33|ARM|EBC|IA64|M32R|MIPS|MIPS16|MIPSFPU|MIPSFPU16|MIPSR41XX|SH3|SH3DSP|SH4|SH5|THUMB|X86}
/NAME:filename
/NODEFAULTLIB[:library]
/NOLOGO
/OUT:filename
/REMOVE:membername
/SUBSYSTEM:{CONSOLE|EFI_APPLICATION|EFI_BOOT_SERVICE_DRIVER|
EFI_ROM|EFI_RUNTIME_DRIVER|NATIVE|POSIX|WINDOWS|
WINDOWSCE}[,#[.##]]
/VERBOSE
/MACHINE引數必須選擇正確的機器型別。