VC环境OpenSSL安装以及编程过程

SSL就是Secure Sockets Layer,是一种安全套接字协议,详情请参考链接中的介绍。

配置过程中需要生成一些mak文件,这些生成代码用perl脚本生成,所以要安装一个ActivePerl

ActivePerl:http://www.activestate.com/activeperl/

openss:http://www.openssl.org/ (本文使用openssl-1.0.0-beta5)

参考 openssl 目录下的 install.win32 说明进行安装:

1 、进入解压目录。

>cd C:/ openssl-1.0.0-beta5

2 、运行 Configure 。

>perl Configure VC-WIN32

如不成功会有明显提示。

3 、创建 Makefile 文件。

>ms/do_ms

推荐使用这种方式,另外两种方式 如果使用也必须保证本机有编译器才能使用。

:ms/do_masm (默认 vc 自带的编译器;也也以自己下载安装)

:ms/do_nasm (需要自己下载)

4 、配置 VC 环境变量。

>cd C:/Program Files/Microsoft Visual Studio/VC98/Bin

>vcvars32.bat

5 、编译动态链接库。

>cd C:/openssl-0.9.8k

>nmake -f ms/ntdll.mak

如果编译成功,最后的输出都在 out32dll 目录下:包括可执行文件、两个 dll ( ssleay32.lib, libeay32.lib )和两个 lib 文件( ssleay32.dll, libeay32.dll )。

6 、为 VC 添加头文件和静态链接库路径。

Tools à Options à Directores ,在 Include files 中增加 C:/openssl-0.9.8k /inc32 目录;在 Libray files 中增加 C:/openssl-0.9.8k/out32dll 。

7 、编写 OpenSSL 程序,可参考 C:/openssl-0.9.8k/demos

( 1 )包含相应头文件

#include <openssl/***. h >

(2) 添加静态链接库

#pragma comment (lib, "libeay32.lib" )

#pragma comment (lib, "ssleay32.lib" )

或 Project à Settings à Link à Object/library modules 填写 libeay32.lib ssleay32.lib 。

( 3 )将动态链接库ssleay32.dll, libeay32.dll 复制到 C:/WINDOWS/system32 或 Debug 目录下,确保动态链接库在正确的路径。

http://blog.csdn.net/harbinzju/article/details/6132229

VC环境下编译OpenSSL(仅仅是个示例,网上还有许多相关文章)的更多相关文章

  1. [转] Windows下编译OpenSSL

    简述 OpenSSL是一个开源的第三方库,它实现了SSL(Secure SocketLayer)和TLS(Transport Layer Security)协议,被广泛企业应用所采用.对于一般的开发人 ...

  2. 在Windows下编译OpenSSL(VS2005和VC6)

    需要说明的是请一定安装openssl-0.9.8a .  openssl-1.0.0我没有编译成功. 如何在Windows下编译OpenSSL (Vs2005使用Vc8的cl编译器)1.安装Activ ...

  3. Windows下编译OpenSSL(使用VS2013)

    简述 OpenSSL是一个开源的第三方库,它实现了SSL(Secure SocketLayer)和TLS(Transport Layer Security)协议,被广泛企业应用所采用.对于一般的开发人 ...

  4. libCURL开源库在VS2010环境下编译安装,配置详解

    libCURL开源库在VS2010环境下编译安装,配置详解 转自:http://my.oschina.net/u/1420791/blog/198247 http://blog.csdn.net/su ...

  5. VC++2010下编译STLport,Boost

    VC++2010下编译STLport,Boost 最近在想向Boost转移,努力掌握Boost代码的过程中, STLport版本:5.2.1 Boost版本:1.4.6.1 (1.4.7.0也OK) ...

  6. centos7.6环境下编译安装tengine-2.2.2的编译安装

    centos7.6环境下编译安装tengine-2.2.2的编译安装 .获取tengine2..2的源码包 http://tengine.taobao.org/download/tengine-2.2 ...

  7. Boost学习总结(一)VS2010环境下编译STLport和Boost

    Boost学习总结(一)VS2010环境下编译STLport和Boost Boost简介 Boost库是一个功能强大.构造精巧.跨平台.开源并且完全免费的C++程序库.1998年,Beman G.Da ...

  8. Redhat环境下编译安装Google Bazel

    Redhat环境下编译安装bazel 作者:Jack47 目前Google Bazel没有提供各个操作系统下的二进制安装包,只提供源代码,需要我们自己编译安装,详情可以见我翻译的中文版Google B ...

  9. 【应用笔记】【AN003】VC++环境下基于以太网的4-20mA电流采集

    简介 4-20mA电流环具有广泛的应用前景,在许多行业中都发挥着重要作用.本文主要介绍了以太网接口的4-20mA电流采集模块在VC++环境下进行温度采集,实现WINDOWS平台对数据的采集.分析及显示 ...

随机推荐

  1. 1294 - Positive Negative Sign(规律)

    1294 - Positive Negative Sign   PDF (English) Statistics Forum Time Limit: 2 second(s) Memory Limit: ...

  2. 【linux】 linux gpio操作

    欢迎转载,转载时需保留作者信息,谢谢. 邮箱:tangzhongp@163.com 博客园地址:http://www.cnblogs.com/embedded-tzp Csdn博客地址:http:// ...

  3. (Problem 17)Number letter counts

    If the numbers 1 to 5 are written out in words: one, two, three, four, five, then there are 3 + 3 + ...

  4. 4.I/O复用以及基于I/O复用的回射客户端/服务器

    I/O复用:当一个或多个I/O条件满足时,我们就被通知到,这种能力被称为I/O复用. 1.I/O复用的相关系统调用 posix的实现提供了select.poll.epoll两类系统调用以及相关的函数来 ...

  5. redis(五)redis与Mybatis的无缝整合让MyBatis透明的管理缓存二

    在上一篇文中的Cahe类存在各种问题如:一直使用同一个连接,每次都创建新的Cache,项目中老是爆出connection timeout 的异常,存储的key过长等等一系列的问题,解决问题最好的办法就 ...

  6. perl 执行mysql select 返回多条记录

    [root@dr-mysql01 sbin]# cat t1.pl use DBI; my $dbUser='DEVOPS'; my $user="root"; my $passw ...

  7. make报错:"/usr/bin/ld: cannot find -lXXX"

    在编译php时报错如下: # make ... /usr/bin/ld: cannot find -lltdlcollect2: ld returned 1 exit statusmake: *** ...

  8. 使用adb签名并安装Android程序

    首先需要准备Android SDK包,我是在windows上操作的,在PATH中配置  YOUT_SDK_PATH\android-sdk-windows\platform-tools 和  YOUT ...

  9. python idle 错误 subprocess didn&#39;t make connection

    今天打开python idle不反应.然后通过网上搜索让我在安装文件夹下点击idle.py 弹出如图所看到的的错误,进行了非常多尝试.任然没有得到解决.可是在尝试过程中发现了大家所说问题所在都是由于新 ...

  10. Java For循环效率试验

    非常奇怪的结果! ..! 测试方法如以下 public class Main { public static void main(String[] args){ long ti = System.cu ...