为Dll重新构造Lib

当只有DLL和H文件而缺少LIB时,可通过dumpbin.exe生成DEF文件,然后编辑DEF文件,最后用lib.exe生成LIB。本文介绍了使用dumpbin和lib的步骤,包括环境变量设置,以gdi32.dll为例进行演示。
摘要由CSDN通过智能技术生成

有些时候, 我们手头只有*.dll和*.h文件, 没有*.lib. 而VC链接必须要提供*.lib. 我们可以通过本文描述方法快速生成*.lib文件.

 

我们需要以下三步来为任意dll生成lib:

    (1) 工具dumpbin.exe生成*.def文件

    (2) 编辑*.def文件以满足工具lib.exe的需要

    (3) 工具lib.exe生成*.lib

 

我们先对所涉及的工具程序dumpbin.exe和lib.exe做一简单描述:

    dumpbin.exe和lib.exe随微软集成开发平台发布, 编译环境安装后在如下路径查找:

      (A) VS2010: 位于安装目录下的VC/bin中. 同时需要mspdb100.dll, 该dll位于安装目录下的Common7/IDE文件夹.

            例如, 我安装VS2010在D:/Program Files/Microsoft Visual Studio 10.0下, 则两者目录分别如下:

                     D:/Program Files/Microsoft Visual Studio 10.0/VC/bin

                     D:/Program Files/Microsoft Visual Studio 10.0/Common7/IDE

      (B) VC++6.0: 位于安装目录下的VC98/Bin中. 同时需要mspdb60.dll, 该dll位于安装目录下的Common/MSDev98/Bin文件夹.

            例如, 我安装VC++6.0在D:/Program Files/Microsoft Visual Studio下, 则两者目录分别如下:

                     D:/Program Files/Microsoft Visual Studio/VC98/Bin

                     D:/Program Files/Microsoft Visual Studio/Common/MSDev98/Bin

为了方便在路径下不带工具程序全路径, 我们需要设置环境变量. 如下:

    XP-EN-SP3版本下选择MyComputer-->Properties-->Advanced-->Enviroment Variables.

    如果只想对当前用户生效, 则添加在 User Variables for username. 想对全部用户生效, 则添加在System Variables项.

    使用逗号分隔每一项. 例如, 我设置只对当前用户有效, 针对VS2010的更改:

                     D:/Program Files/IDM Computer Solutions/UltraEdit/;D:/Program Files/Microsoft Visual Studio 10.0/Common7/IDE/;D:/Program Files/Microsoft Visual Studio 10.0/VC/bin/

    对于中文XP, 应该是: 我的电脑-->属性-->高级-->环境变量. 然后更改用户变量或者系统变量. 方式同英文版.

 

现在, 我们可以在任意目录下执行它们了, 请直接选择Start-->Run(中文为开始-->运行), 输入cmd进入命令行环境, 输入dumpbin或者lib. 如果输出找不到, 则表示上述设置有问题, 请详细检查. 如果正常, 则输出为两者的帮助信息.

 

我们以gdi32.dll(位于C:/WINDOWS/system32目录下)为例来说明. 选择Start--

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值