如何生成dll库的导入库文件
1个回答
展开全部
有时候我们拿到一个dll库却没有相应的导入库又或者是我们有dll库却希望在MinGW或者Cygwin环境下使用该库。
这时候必须生成一个dll库的导入库(Win下dll库的导入库默认是以.lib结尾,MinGW下的导入库是以.a结尾)
这个转化需要两步:
1. 首先生成dll库的def文件
Windows + Visual Studio
下可以使用dumpbin(Visual Studio里自带),使用方法如下:
C:\>
dumpbin /EXPORTS filename.dll > filename.def
Windows + Cygwin(或者MinGW)
下可以使用pexports工具,使用方法如下:
$ pexports
filename.dll > filename.def
该工具的下载地址是:http://www.emmestech.com/software/pexports-0.43/download_pexports.html
(推荐使用pexports工具导出def文件,这样可以导出无需修改的def文件)
2. 利用dll库的def文件,最终生成导入库(微软的导入库是以.lib结尾,GNU环境下的导入库是以.a结尾)
然后再用MinGW或这Cygwin里自带的dlltool工具来生成导入库
$ dlltool -d filename.dll -d
filename.def -l filename.lib
或者
$ dlltool -d filename.dll -d
filename.def -l libfilenam
这时候必须生成一个dll库的导入库(Win下dll库的导入库默认是以.lib结尾,MinGW下的导入库是以.a结尾)
这个转化需要两步:
1. 首先生成dll库的def文件
Windows + Visual Studio
下可以使用dumpbin(Visual Studio里自带),使用方法如下:
C:\>
dumpbin /EXPORTS filename.dll > filename.def
Windows + Cygwin(或者MinGW)
下可以使用pexports工具,使用方法如下:
$ pexports
filename.dll > filename.def
该工具的下载地址是:http://www.emmestech.com/software/pexports-0.43/download_pexports.html
(推荐使用pexports工具导出def文件,这样可以导出无需修改的def文件)
2. 利用dll库的def文件,最终生成导入库(微软的导入库是以.lib结尾,GNU环境下的导入库是以.a结尾)
然后再用MinGW或这Cygwin里自带的dlltool工具来生成导入库
$ dlltool -d filename.dll -d
filename.def -l filename.lib
或者
$ dlltool -d filename.dll -d
filename.def -l libfilenam
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询