在Windows下编译OpenSSL(VS2005)

 

在Windows下编译OpenSSL(VS2005)

 如何在Windows下编译OpenSSL (Vs2005使用Vc8的cl编译器)

1、安装ActivePerl//初始化的时候,需要用到perl解释器

2、使用VS2005下的Visual Studio 2005 Command Prompt进入控制台模式(这个模式会自动设置各种环境变量)

3、解压缩openssl的包,进入openssl的目录

4、perl configure VC-WIN32

尽量在这个目录下执行该命令,否则找不到Configure文件,或者指定完整的Configure文件路径。

5、ms/do_ms

在解压目录下执行ms/do_ms命令

在当前窗口执行D:/Program Files/Microsoft Visual Studio 8/Common7/Tools/vsvars32.bat【如果vs2005安装在D:/Program Files/下】配置 vs2005环境变量,否则找不到nmake路径

6、nmake -f ms/ntdll.mak

 

编译后

在openssl解压目录下执行,完成编译后。输出的文件在out32dll里面,包括应用程序的可执行文件、lib文件和dll文件

 

注 意:在运行第五步时,cl编译器会抱怨说./crypto/des/enc_read.c文件的read是The POSIX name for this item is deprecated(不被推荐的),建议使用_read。呵呵,我可不想将OpenSSL中的所有的read函数修改为_read。再看cl的错误代码 error C2220,于是上MSDN上查找:

warning treated as error - no object file generated

/WX tells the compiler to treat all warnings as errors. Since an error occurred, no object or executable file was generated.

是由于设置了/WX选项,将所有的警告都作为错误对待,所以。。。

 

于是打开OpenSSL目录下的MS目录下的ntdll.mak文件,将CFLAG的/WX选项去掉,存盘。。。

继续执行nmake -f ms/ntdll.mak

 

于是成功。。。

(我下载的是openssl-0.9.8a版本) 

到此编译已经完成,将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

 

编译OpenSSL可能遇到的问题:

1. 启用Windows控制台(运行cmd)进行编译,执行第5步nmake -f ms/ntdll.mak或nmake -f ms/nt.mak会报错:

  'nmake' 不是内部或外部命令,也不是可运行的程序或批处理文件。

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 8/VC/bin/cl.EXE"' : return code '0x2' Stop.

 

 

 

http://blog.csdn.net/zhejiang9/archive/2010/02/04/5286511.aspx

 

 

http://blog.csdn.net/k1988/archive/2009/11/10/4789415.aspx

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值