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