使用 pexports.exe 从 DLL 生成 .lib 文件的详细教程

在开发过程中,有时我们只有 DLL 文件(如 libcrypto-1_1-x64.dll),但需要对应的 .lib 文件来链接到我们的项目中。本文将详细介绍如何使用 pexports.exe 和 Visual Studio 的工具从现有的 DLL 文件生成所需的 .lib 文件,并在 Qt 工程中引用。

前言

当我们使用第三方库时,通常需要 .lib 文件来在编译时链接。如果只有 DLL 而没有 .lib 文件,可以通过以下方法生成。

工具准备

  • pexports.exe:一个用于从 DLL 导出符号的工具。可以从 Mingw-w64 或其他可信来源下载。
  • Visual Studio:本文以 Visual Studio 2019 为例,需要使用其中的 lib 工具。

步骤详解

1. 确保工具和 DLL 文件在同一目录

pexports.exelibcrypto-1_1-x64.dll 放在同一目录下,本文以 D:\Qt_Project\AESencryptor\ 为例。

2. 打开命令提示符

建议使用 Visual Studio 开发者命令提示符,这样所有需要的开发工具都已在路径中。

  • 在开始菜单中,找到 "Visual Studio 2019" 文件夹。
  • 打开 "x64 Native Tools Command Prompt for VS 2019"。

如果没有,可以使用普通的命令提示符,但需要使用工具的全路径。

3. 导航到工作目录

在命令提示符中输入:

cd /d D:\Qt_Project\AESencryptor\

4. 使用 pexports.exe 生成 .def 文件

运行以下命令:

pexports.exe libcrypto-1_1-x64.dll > libcrypto.def

执行后,将在当前目录下生成 libcrypto.def 文件。

5. 使用 lib 工具生成 .lib 文件

运行以下命令:

lib /def:libcrypto.def /machine:x64 /out:libcrypto.lib

参数说明:

  • /def:libcrypto.def:指定输入的定义文件。
  • /machine:x64:目标平台为 64 位。如果是 32 位 DLL,使用 /machine:x86
  • /out:libcrypto.lib:指定输出的 .lib 文件名。

执行后,将在当前目录下生成 libcrypto.lib 文件。
 

完整命令流程
 

cd /d D:\Qt_Project\AESencryptor\
"D:\Qt_Project\AESencryptor\pexports.exe" libcrypto-1_1-x64.dll > libcrypto.def
lib /def:libcrypto.def /machine:x64 /out:libcrypto.lib

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值