【问题标题】:How to use static lib of openssl in windows?如何在 Windows 中使用 openssl 的静态库?
【发布时间】:2012-07-20 02:24:02
【问题描述】:

我有一个 openssl 静态库,有一个 bin 包含和 lib 文件夹。我是 Windows 和 C++ 编程的新手。我想问我应该如何链接这些文件并使用它们。比如包括。我使用 qt 作为我的 UI 引擎。我怎样才能用它创建一个 ssl 套接字?

【问题讨论】:

    标签: c++ windows openssl


    【解决方案1】:

    由于您使用的是 Qt,因此您可以使用 Qt 套接字。如果 Qt 构建支持 ssl,您可以使用 QSslSocket

    要直接使用 openSSL,您需要为您的项目设置可见的 openSSL 包含和 lib 目录。

    1. 使用动态链接的 openSSL 库。在这种情况下,您的二进制文件会在启动时尝试查找 openSSL dll,但无法加载 dll 应用程序失败。
    2. 使用静态链接的 openSSL 库。您必须静态构建 openSSL(只有库没有 dll)。在这种情况下,您的二进制文件不需要任何 openSSL dll。

    【讨论】:

    • QSslSocket 不能很好地工作,因为我的数据非常大。它会造成缓冲区溢出
    • @TonyHuang 你用什么套接字?
    【解决方案2】:

    使用静态库(使用头文件和链接到库)类似于在 Windows 中使用任何其他静态库。请在下面找到详细说明在应用程序中创建和使用静态库的过程的链接。您可能可以跳过创建部分并仅检查使用部分。

    Creating & Using a Static Library in Windows

    请注意,链接是从 VS2005 的角度讲的。

    OpenSSL 编程示例可以参考以下:

    An Introduction to OpenSSL Programming Part - I
    An Introduction to OpenSSL Programming Part - II

    【讨论】:

    • 我想我只需要lib文件夹中的libeay32.lib和ssleay32.lib。但是include文件夹中的头文件和bin文件夹中的dll文件呢?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-30
    • 2019-08-10
    • 1970-01-01
    • 1970-01-01
    • 2013-08-31
    • 2022-12-14
    相关资源
    最近更新 更多