如何在不依赖vcruntime-dll(/ MT)的情况下为VC-WIN32构建openssl 1.1.1 dll

时间:2019-07-30 09:45:18

标签: openssl

我想将openSSL 1.1.1c编译为DLL,而不依赖于可视C运行时。对于openSSL 1.0.2,足以修补ntdll.mak(配置后),将/ MD替换为/ MT。

对于openSSL 1.1.1c,我在perl configure VC-WIN32之后将makefile和configdata.pm中的/ MD更改为/ MT时,许多测试(来自多个类别)失败。如果不打补丁,则编译和测试都可以。 使用no-shared在configure中也是没有选择的,因为它不会创建DLL。

也许我只是缺少配置选项?

万一重要:我正在使用Strawberry Perl 5.28.0.1 Portable,NASM 2.14.02和MS VC2017 Enterprise。

P.S。我知道从https://stackoverflow.com/a/35494745/2131459链接的二进制文件,但至少“ 32位发行版静态库”的OpenSSL 1.1.1版本似乎也依赖于vcruntime140.dll(根据depends.exe)

1 个答案:

答案 0 :(得分:0)

我正在尝试做同样的事情,我从网站上下载了libssl和libcrypto dll,只是为了在依赖项遍历器中检查它们。当我检查它时,我意识到它找不到对vcruntime140.dll的任何依赖关系。我想知道他怎么能做到这一点。我仍在尝试构建无依赖的openssl。 如果您想查看一下,可以在这里http://p-nand-q.com/programming/windows/building_openssl_with_visual_studio_2013.html