静态链接OpenSSL尝试加载DLL

时间:2019-01-17 16:22:41

标签: c windows openssl

我有一个使用OpenSSL在套接字连接上发送和接收的项目。我已经将libssl.lib和libcrypto.lib添加到我的配置中。

Project Properties -> Linker -> Input -> Additional Dependencies

但是当我使用Visual Studio dumpbin工具检查导入时,它需要Dll:

libssl-1_1-x64.dll
libcrypto-1_1-x64.dll

我不确定如何静态地包含这两个文件,因为我认为那是我的工作?

1 个答案:

答案 0 :(得分:0)

这取决于您使用的OpenSSL发行版。 Visual C ++链接器不理解.dll文件,因此使用成对的.lib文件来定义dll的入口点。

.lib文件当然是特定于工具链的格式,因此通常不希望-甚至不可能-分发dll文件和成对的.lib文件而没有确切指定它们打算用于哪个Visual C ++版本。

因此,无论您下载或构建的.lib文件都是导入库,而不是实际的静态库。您需要查看发行版的文档,以了解如何获取实际的静态库。

相关问题