准备工作:
1、安装VC++ 2010。
2、需要perl的支持,下载最新ActivePerl并安装。
3、下载 Openssl1.0.1i 并解压。
====================================================================================================
编译步骤:
1.使用VS200510下的Visual Studio 2010 Command Prompt进入控制台模式
开始菜单->所有程序->Microsoft->Microsoft Visual Studio 2010->Visual Studio Tools->Visual Studio 2010 Command Prompt
2.进入openssl源码的目录
命令行键入 cd /D D:\openssl-1.0.1i //把路径替换成自己的源码路径
3.命令行键入 perl configure VC-WIN32
4.命令行键入 ms\do_ms.bat
另外两种方式 如果使用也必须保证本机安装有相应的编译器才能使用。
:ms\do_masm (默认vc自带的;也可以自己下载masm并安装)
:ms\do_nasm (需要下载nasm)
注意:请不要cd进ms目录再执行do_ms.bat命令,会因为当前目录不对而报错。
5.编译分两种情况,生成静态库和动态库
(1) 如果是编译OpenSSL动态库,则在命令行键入 nmake -f ms\ntdll.mak
编译成功课在文件夹out32dll里面查看输出的文件,包括应用程序的exe文件、lib文件、dll文件。
(2) 如果是编译OpenSSL静态库,则在命令行键入 nmake -f ms\nt.mak
编译成功课在文件夹out32里面查看输出的文件,包括应用程序的exe文件、lib文件。
注意:此处编译需要较长时间,请耐心等待,切勿人为中断。
到此编译已经完成,将OpenSSL下的include文件夹、lib文件、dll文件考出,使用的时候包含进去就行了。
另外还有几个命令可能会用到:
测试OpenSSL动态库:nmake -f ms\ntdll.mak test
测试OpenSSL静态库:nmake -f ms\nt.mak test
安装OpenSSL动态库:nmake -f ms\ntdll.mak install
安装OpenSSL静态库:nmake -f ms\nt.mak install
清除上次OpenSSL动态库的编译,以便重新编译:nmake -f ms\ntdll.mak clean
清除上次OpenSSL静态库的编译,以便重新编译:nmake -f ms\nt.mak clean
====================================================================================================
可能遇到的问题及解决办法:
- 启用Windows控制台(运行cmd)进行编译,执行第5步nmake -f ms\ntdll.mak或nmake -f ms\nt.mak会报错:
’nmake’ 不是内部或外部命令,也不是可运行的程序或批处理文件。
解决办法:严格按第1步操作,启动Visual Studio 2010 Command Prompt进行编译,这个会自动配置环境。
2.启用SDK Command Prompt进行编译,执行第5步nmake -f ms\ntdll.mak或nmake -f ms\nt.mak会报错:
ms\uplink.c(11) : fatal error C1083: Cannot open include file: ‘windows.h’: No such file or directory
NMAKE : fatal error U1077: ‘”D:\Program Files\Microsoft Visual Studio 10\VC\bin\cl.EXE”‘ : return code ‘0x2’ Stop.
解决办法:在执行第5步nmake -f ms\ntdll.mak前,进入D:\Program Files\Microsoft Visual Studio 10\VC\bin路径下(替换成自己的VC安装路径),命令行键入vcvars32,运行vcvars32.bat。然后再回到OpenSSL源码的目录(D:\openssl-1.0.1i),再执行第5步nmake -f ms\ntdll.mak或nmake -f ms\nt.mak
- ‘ml’ 不是内部或外部命令,也不是可运行的程序或批处理文件。
NMAKE : fatal error U1077: ‘ml’ : return code ‘0x1’ Stop.
解决办法:把VC下的ml.exe复制到当前目录即可。但是有些人安装VC后没有ml.exe,这个也好解决,下载一个MASM,名字是MASMsetup.exe,不用安装,按下面来:
1、用winrar解压安装文件MASMsetup.EXE,得到Setup.exe
2、用winrar解压Setup.exe,得到vc_masm1.cab
3、用winrar解压vc_masm1.cab,得到一个文件,文件名很长,改名为ml.exe就行了。
————————————————
版权声明:本文为CSDN博主「wxmxl」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/caizi001/article/details/38736041