前言
当使用第三方dll的时候,有时会错过编译它所需的根据.lib文件。本文讲述了如何从.dll生成.lib文件,下面是我总结的步骤。
下载
1、Visual Studio 2013 (以2013为例,版本都大同小异)
2、dll文件。(本文以plpgsql.dll为例)
步骤
1、打开vs2013,TOOLS -> Visual Studio Command Promt,打开命令行
2、现在运行dumpbin命令来获得dll的所有导出函数的列表:
dumpbin /exports C:\yourpath\yourlib.dll
3、创建.def文件
现在复制所有这些函数名(只有name!)并粘贴到一个新的文本文件。命名yourlib.def,并将“EXPORTS”行放在它的顶部。我的yourlib.def文件如下:
EXPORTS
_magic_func
_PG_init
exec_get_datum_type
exec_get_datum_type_info
pg_finfo_plpgsql_call_handler
pg_finfo_plpgsql_inline_handler
pg_finfo_plpgsql_validator
plpgsql_DumpExecTree
plpgsql_HashTableInit
plpgsql_IdentifierLookup
plpgsql_add_initdatums
plpgsql_adddatum
...
现在,从这个定义文件中,可以创建.lib文件了。为此,我们使用“lib”命令,因此在Visual Studio命令提示符中运行以下命令:
lib /def:C:\mypath\mylib.def /OUT:C:\mypath\mylib.lib /machine:x86
好了,你的lib生成完毕。如下图:
不了解命令的直接在命令行敲:lib