雨非札记
雨非札记
Windows环境下使用VS2010编译OpenSSL-1.0.1i

准备工作:
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

====================================================================================================
可能遇到的问题及解决办法:

  1. 启用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

  1. ‘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

赞赏
没有标签
首页      经验交流      Windows环境下使用VS2010编译OpenSSL-1.0.1i
头像

adshell

文章作者

QQ:458373811

雨非札记

Windows环境下使用VS2010编译OpenSSL-1.0.1i
准备工作:1、安装VC++ 2010。 2、需要perl的支持,下载最新ActivePerl并安装。3、下载 Openssl1.0.1i 并解压。 ===============================================================…
扫描二维码继续阅读
2023-05-04