Windows编译安装OpenSSL

时间:2023-01-02 10:22:38

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编译过程及错误

编译中碰到的错误:


cryptlib.obj : error LNK2001: 无法解析的外部符号 _OPENSSL_ia32cap_P cryptlib.obj : error LNK2019: 无法解析的外部符号 _OPENSSL_ia32_cpuid,该符号在函数 _OPENSSL_cpuid_setup 中被引用 原因及解决方案:
原因是之前编译的临时文件没有清理的问题,因为我之前编译的时候没有添加no-asm选项,后面加上时没有清理就直接编译了,那肯定有问题。 所以重新清理下再编译即可(清理方式就是重新解压一份原来的压缩包,重新来就是了)

aa