Windows 编译opensll

1、预先安装perl
2、打开VS2013 “VS2013 x86 本机工具命令提示” 进入OpenSSL库目录
>perl Configure no-asm VC-WIN32
>nmake
>nmake test
>nmake install

64位编译 “VS2013 x64 本机工具命令提示”
>perl Configure no-asm VC-WIN64A
>nmake
>nmake test
>nmake install


perl Configure no-asm VC-WIN32 --prefix="D:\workspace\ThirdLibs\openssl\openssl-1.1.1i\openssl-1.1.1i-x86\build"

perl Configure no-asm VC-WIN64A --prefix="D:\workspace\ThirdLibs\openssl\openssl-1.1.1i\openssl-1.1.1i-x64\build"


perl Configure VC-WIN32 shared no-asm no-shared --prefix="D:\workspace\ThirdLibs\openssl\openssl-1.1.1i\openssl-1.1.1i-x86\build-static"
nmake /f makefile.vc mode=static VC=9 ENABLE_IDN=no debug=no。如果没有指定ENABLE_IDN=no,则默认按照ENABLE_IDN=yes进行编译。


编译静态库,XP中也可以使用
perl Configure VC-WIN32 no-asm no-ssl3 no-zlib no-comp no-ui-console no-autoload-config no-shared --prefix="D:\workspace\ThirdLibs\openssl\openssl-1.1.1i\test\test\openssl-1.1.1i\build-static-debug-xp" -DOPENSSL_NO_DEPRECATED -D_WIN32_WINNT=0x0501 --debug



VC-WIN32:可根据需要修改为64位(VC-WIN64A)。

-D_WIN32_WINNT=0x0501为XP系统下需要。

[]中的为可选项,no-shared为编译静态库(即/MT),不加此项默认编译出的是动态库(/MD);

no-tests为不需要tests功能,如果只需要openssl的库可以加上此项,否则可能会出很多错误导致编译不过;

--debug为编译debug版,不加此项默认编译出的是release版

原文地址:https://www.cnblogs.com/malinzhai/p/15592373.html