Windows编译安装OpenSSL

时间:2021-10-08 13:10:30

 

windows下使用vs2008中的nmake编译安装openssl的脚本build.bat:

echo off & color 0A
:: 项目名称
set PROJECT=openssl
:: 版本标签
set VESION=OpenSSL_1_0_1l
:: 项目路径
set PROJECT_PATH=%cd%
:: 代码存放路径
set CODE_PATH="%PROJECT_PATH%\%PROJECT%-%VESION%"
::安装路径
set OPENSSL_INSTALL_DIR="%cd%\output"


cd /d "%CODE_PATH%"

::通过perl脚本根据配置生成makefile
perl Configure VC-WIN32 --prefix=%OPENSSL_INSTALL_DIR% no-asm

:: 设置VS工具集目录,取决于电脑中VS安装路径
set VS_DEV_CMD="D:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\Tools\vsvars32.bat"
call %VS_DEV_CMD%
:: 编译
call ms\do_ms.bat
nmake -f ms\ntdll.mak
:: 测试(可选)
nmake -f ms\ntdll.mak test
:: 安装
nmake -f ms\ntdll.mak install

pause

注意:

1、编译之前需要安装perl环境

2、下方参考博客中,无法安装其设置进行编译,可能与版本有关系

 


参考博客:

Windows 一键安装OpenSSL

windows下openssl编译过程及错误

 

编译中碰到的错误:

1、
cryptlib.obj : error LNK2001: 无法解析的外部符号 _OPENSSL_ia32cap_P

        cryptlib.obj : error LNK2019: 无法解析的外部符号 _OPENSSL_ia32_cpuid,该符号在函数 _OPENSSL_cpuid_setup 中被引用

原因及解决方案:
原因是之前编译的临时文件没有清理的问题,因为我之前编译的时候没有添加no-asm选项,后面加上时没有清理就直接编译了,那肯定有问题。

        所以重新清理下再编译即可(清理方式就是重新解压一份原来的压缩包,重新来就是了)

 

 

 

 

aa