当前位置: 首页 > news >正文

使用 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


http://www.mrgr.cn/news/42405.html

相关文章:

  • 【宽搜】1. 层序遍历模板讲解
  • 20240930编译orangepi5的Android12使用HDMI0输出
  • 小红书三面被问 RAG 原理,秒挂…
  • 记录使用crypto-js、jsencrypt实现js加密的方法
  • Authentication Lab | JWT None Algorithm
  • 15种高级RAG技术:从预检索到生成全面提升RAG效果
  • Java后端分布式系统的服务监控:Zabbix与Nagios
  • 图片尺寸缩放批量剪辑:高效方法与技巧分享
  • 《业务三板斧:定目标、抓过程、拿结果》读书笔记1
  • WooCommerce与wordpress是什么关系
  • 【Linux系统编程】第二十七弹---文件描述符与重定向:fd奥秘、dup2应用与Shell重定向实战
  • 【微服务】注册中心 - Eureka(day3)
  • Timer 计时器
  • 《蓝桥杯算法入门》(C/C++、Java、Python三个版本)24年10月出版
  • 华为OD机试 - 无向图染色(Python/JS/C/C++ 2024 E卷 100分)
  • 两个wordpress网站共用一个数据库的数据表
  • 如何对物理系统进行数学建模?
  • CSS属性 - animation
  • 14 Shell Script正则表达式
  • Navicat Premium 12 for Mac中文永久版