【发布时间】:2012-03-11 20:52:39
【问题描述】:
我想用 MinGW 在 Windows 中构建 OpenSSL,
我怎样才能做到这一点?请帮帮我。
谢谢。
【问题讨论】:
我想用 MinGW 在 Windows 中构建 OpenSSL,
我怎样才能做到这一点?请帮帮我。
谢谢。
【问题讨论】:
这是我写的个人指南的摘录。此后它已被转换为script(很明显,请查看 OpenSSL 部分)。它假定您已经安装了工作正常的 MinGW,并且您有工作的 MSys 控制台。
要构建 OpenSSL,您需要一个有效的 Perl installation。
从its official website 下载 OpenSSL 并解压缩存档。
您必须从 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 提供的帮助,以了解有关可用选项的更多信息。
【讨论】:
no-shared 参数明确禁用共享库生成。因为在 Windows 上,共享库是 DLL,所以你有你的答案:) 现在我不必构建 OpenSSL 的 DLL,但我想用 shared 替换 no-shared 可能会成功。
no-xyz 标志传递给 Configure,则需要在运行 make 之前运行 make depend。
cl.exe (Microsoft) 或 gcc.exe (MinGW)。现在对于 C 库,有时两个编译器都可以使用生成的库,因为它们使用类似的函数修饰机制。如果您想为 Visual Studio 构建 OpenSSL,请阅读我提供的链接,因为它也包含相应的说明;)