Windows编译安装OpenSSL

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.0Common7Toolsvsvars32.bat"
call %VS_DEV_CMD%
:: 编译
call msdo_ms.bat
nmake -f ms
tdll.mak
:: 测试(可选)
nmake -f ms
tdll.mak test
:: 安装
nmake -f ms
tdll.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

原文地址:https://www.cnblogs.com/jingzhishen/p/6216010.html