VS2010编译openssl-1.0.1e



使用VS2010编译openssl-1.0.1g成功


安装openssl步骤:

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

2、下载openssl-1.0.1e(openssl-1.0.1g),解压到D:\openssl-1.0.1e

2、使用VS2010下的Visual Studio 2010 Command Prompt进入控制台模式(这个模式会自动设置各种环境变量)
进入 Visual Studio 命令提示(2010)  ,首先执行vcvars32,直接切换目录到d:\openssl-1.0.1e下,输入perl configure VC-WIN32,接着输入ms\do_ms
如果使用静态库
输入:nmake -f ms\nt.mak
动态库 输入:nmake -f ms\ntdll.mak
如果编译成功,最后的输出都在out32dll目录下:包括可执行文件、两个dll和两个lib文件:libeay32.dll, libeay32.lib, ssleay32.dll, ssleay32.lib
打开VC-Tools-Options-Directores,在Include files中增加openssl\include目录,将libeay32.lib和ssleay32.lib 复制到工程当前目录中

 二、使用OpenSSL

    (1)在VC中配置使用以上的函数库:
点击菜单:Tools -> Options,弹出对话框"Options",在该对话框中选择"Directories"标签。
在"Show directories for:"的"Include files"选项中新增目录"C:\openssl\include";
"Library files"选择中新增目录"C:\openssl\lib"。

然后在需要链接OpenSSL函数库的工程中加入如下两句:
#pragma comment(lib, "ssleay32.lib")
#pragma comment(lib, "libeay32.lib")
 其作用是将OpenSSL所需的库导入工程中。


(2)在要编译的源程序中包含以下三个头文件并加入LIB:
#include <openssl/ssl.h>
#include <openssl/err.h>
#include <openssl/bio.h>
#pragma comment(lib, "libeay32.lib")

#pragmacomment(lib, "ssleay32.lib")

三、编译多个版本的openssl

cd 到openssl 目录

把 ms 目录下的 ntdll.mak 和 nt.mak 中 CFLAGS 中的MD 改成 MTD(Debug版本) 或 MT(Rlease版本),如下所示 
dll: CFLAG= /MD /Ox /O2 /Ob2 /W3 /WX /Gs0 /GF /Gy/nologo 
dll debug: CFLAG= /MDd /ZI /Od /Ob2 /W3 /WX /Gs0 /GF/Gy /nologo 
static: CFLAG= /MT /Ox /O2 /Ob2 /W3 /WX /Gs0 /GF /Gy/nologo 
static debug: CFLAG= /MTd /ZI /Od /Ob2 /W3 /WX /Gs0 /GF/Gy /nologo 
如何在Windows下编译OpenSSL (VS2010使用VC10的cl编译器)

四、附录:在VC中对C/C++ 运行时库不同版本编译指令说明
    《在VC中对C/C++ 运行时库不同版本编译指令说明》(http://blog.yesky.com/271/dgkang/1737771.shtml)一文中详细介绍了连接不同版本库的编译指令如下:
    C Runtime Library:
        /MD        MSVCRT.LIB     多线程DLL的Release版本
        /MDd       MSVCRTD.LIB    多线程DLL的Debug版本
        /MT        LIBCMT.LIB     多线程静态链接的Release版本
        /MTd       LIBCMTD.LIB    多线程静态链接的Debug版本
        /clr       MSVCMRT.LIB    托管代码和非托管代码混合
        /clr:pure  MSVCURT.LIB    纯托管代码
    C++ Standard Library:
        /MD       MSVCPRT.LIB     多线程DLL的Release版本
        /MDd      MSVCPRTD.LIB    多线程DLL的Debug版本
        /MT       LIBCPMT.LIB     多线程静态链接的Release版本
        /MTd      LIBCPMTD.LIB    多线程静态链接的Debug版本

五 ELSE

1)

   测试动态库:
    nmake -f ms\ntdll.mak test
     测试静态库:
    nmake -f ms\nt.mak test

     安装动态库:
    nmake -f ms\ntdll.mak install
     安装静态库:
    nmake -f ms\nt.mak install

     清除上次动态库的编译,以便重新编译:
    nmake -f ms\ntdll.mak clean
     清除上次静态库的编译,以便重新编译:
    nmake -f ms\nt.mak clean

 2)

    使用OpenSSL
     在VC中配置使用以上的函数库:
    点击菜单:Tools -> Options,弹出对话框"Options",在该对话框中选择"Directories"标签。
    在"Show directories for:"的"Include files"选项中新增目录"C:\openssl\include";"Library files"选择中新增目录"C:\openssl\lib"。
    然后在需要链接OpenSSL函数库的工程中编译时加入"libeay32.lib"就可以了。



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值