【问题标题】:How to build OpenSSL with MinGW in Windows? [closed]如何在 Windows 中使用 MinGW 构建 OpenSSL? [关闭]
【发布时间】:2012-03-11 20:52:39
【问题描述】:

我想用 MinGW 在 Windows 中构建 OpenSSL,
我怎样才能做到这一点?请帮帮我。
谢谢。

【问题讨论】:

    标签: c++ openssl mingw msys


    【解决方案1】:

    这是我写的个人指南的摘录。此后它已被转换为script(很明显,请查看 OpenSSL 部分)。它假定您已经安装了工作正常的 MinGW,并且您有工作的 MSys 控制台。


    OpenSSL

    要构建 OpenSSL,您需要一个有效的 Perl installation

    its official website 下载 OpenSSL 并解压缩存档。

    Windows 32/64 位 - MinGW

    您必须从 MSys 控制台运行这些命令。

    对于 32 位:

    perl 配置 mingw no-shared no-asm --prefix=/c/OpenSSL

    对于 64 位:

    perl 配置 mingw64 no-shared no-asm --prefix=/C/OpenSSL-x64

    然后:

    依赖

    制作

    进行安装

    如果您指定了任何 no-... 选项,则仅在最新的 OpenSSL 版本上才需要 make depend 行。

    请注意,这将在静态模式下编译 OpenSSL。

    如果您在某个时候收到“make (e=2):”错误,请确保您的 PATH 中没有另一个“make.exe”,或者只需输入 /bin/make 而不是 make


    当然,您可能需要使用其他选项(例如动态链接或启用 asm)对其进行编译。因此,请随时查看perl Configure 提供的帮助,以了解有关可用选项的更多信息。

    【讨论】:

    • 感谢您的帮助。我完成了您的指令并构建了 OpenSSL,但它不会生成 DLL 文件?它在哪里?
    • @HarryFox:您可能已经注意到no-shared 参数明确禁用共享库生成。因为在 Windows 上,共享库是 DLL,所以你有你的答案:) 现在我不必构建 OpenSSL 的 DLL,但我想用 shared 替换 no-shared 可能会成功。
    • 根据我 [非常有限的] 经验,Strawberry Perl(5.14.2.1 for x64)在 MSYS 中挂起。 ActivePerl 效果很好。
    • 对于较新版本的 openssl,如果您将任何 no-xyz 标志传递给 Configure,则需要在运行 make 之前运行 make depend
    • @3noch:库没有“本机 Windows 二进制格式”之类的东西。您可以生成可供特定编译器工具链使用的库。在 Windows 上可以是 cl.exe (Microsoft) 或 gcc.exe (MinGW)。现在对于 C 库,有时两个编译器都可以使用生成的库,因为它们使用类似的函数修饰机制。如果您想为 Visual Studio 构建 OpenSSL,请阅读我提供的链接,因为它也包含相应的说明;)
    猜你喜欢
    • 1970-01-01
    • 2019-10-13
    • 1970-01-01
    • 1970-01-01
    • 2012-03-03
    • 2013-06-13
    • 2012-01-30
    • 2016-04-17
    • 1970-01-01
    相关资源
    最近更新 更多