第一个版本:

编译工具 VS2010
OpenSSL版本 openssl-1.0.0a

下载 OpenSSL http://www.openssl.org/
下载 from http://www.activestate.com/ActivePer

OpenSSL目录中有个名为INSTALL.W32的说明文件。

将C:\Perl\bin的路径设置到环境变量Path中,设置好Perl的路径后,执行:(这些都是摘抄INSTALL.W32的)

perl Configure VC-WIN32 no-asm
--prefix=e:/openssl(OpenSSL源代码的解压目录)

如果想编译Debug的版本则执行:
perl Configure debug-VC-WIN32 no-asm --prefix=e:/openssl

(先编译Release版本,再编译Debug版,否则会出错,原因我不清楚。)

然后在OpenSSL根目录下执行(不要进入到ms目录中执行,否则有的文件或目录找不到)
ms\do_ms.bat

用Visual Studio 2008 Command Prompt进入到openssl根目录,执行:
nmake -f ms\nt.mak(编译dll库则用ntdll.mak)

编译结束后OpenSSL的文件夹下会多出inc32,out32的文件夹。

编译OpenSSL的第二个版本:

OpenSSL库网上只有源代码,我们首先需要编译。从http://www.openssl.org/source/openssl-0.9.8k.tar.gz下载源代码包,然后解压到目录C:\openssl-0.9.8k下(最终存在目录C:\openssl-0.9.8k\apps即表示正确)。进入Visual
Studio 2008的命令提示符(开始–>所有程序–>Microsoft
Visual Studio 2008–>Visual Studio
Tools–>Visual Studio 2008 Command
Prompt),依次输入如下命令:

mkdir c:\openssl_lib
cd C:\openssl-0.9.8k
perl Configure VC-WIN32
–prefix=c:/openssl_lib
—输出如下的信息:
……
RC4_CHUNK is undefined
Configured for VC-WIN32.
ms\do_masm
nmake -f ms\nt.mak
—好了,去喝杯咖啡吧,半个小时后应该编译完了。
nmake -f ms/nt.mak test
—如何库编译正确,你应该看到“passwd all tests”字样。
nmake -f ms\nt.mak install
—现在应该在c:\openssl_lib下安装了openssl库文件和头文件了。
—如果编译出错,那么也可以查看文件C:\openssl-0.9.8k\INSTALL.W32,里面列举了一些错误处理方法。
 
两个版本一起看可以更好的理解OpenSSL的编译!

VS2010编译OpenSSL(两个版本)的更多相关文章

  1. 64位Win7下用VS2010编译OpenSSL

    http://blog.csdn.net/henter/article/details/8364532 首先要说明,如果不想自己编译OpenSSL,可以到 http://slproweb.com/pr ...

  2. USGS-EROS项目espa-surface-reflectance中的Landsat8 大气校正LaSRC Version 1.3.0模块利用vs2010编译出windows64位版本(四)

    ,支持一些关键问题: 1    数据初始化问题.该问题是指在linux环境下编程标准c并编译,用户定义的变量默认初始值是0,但在windows 64 win7环境中,变量默认初始值是负值极小.... ...

  3. Lansat8大气校正USGS-EROS项目espa-surface-reflectance中的LaSRC Version 1.3.0模块利用vs2010编译出windows64位版本的使用(三)

    Landsat8大气校正程序LaSRC是目前最好的,使用方式也够傻瓜,输入文件输出结果. 但有一个限制,就是程序需要预先下载好的MODIS辅助文件来确定水汽.压强等大气参数. 如果待大气校正的land ...

  4. vs2010 编译Qt5.2 rc1

    首先要准备一些依赖: 下载Qt 5.2.0 rc版的源码 qt-everywhere-opensource-src-5.2.0-rc1.7z 并解压出来, 我的路径为D:\qt5\qt-src-5.2 ...

  5. [转] Windows下编译OpenSSL

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

  6. vs2008编译openssl问题

    运行openssl demo 时,debug 版本正常,release 版本报异常:OPENSSL_Uplink(585E6000,08): no OPENSSL_Applink .demo 编译环境 ...

  7. vs2010编译出的exe“应用程序无法正常启动(0xc0150002)”

    今天编译出一个使用ogre1.6.5动态库的应用程序,启动时报"应用程序无法正常启动(0xc0150002)"的错误提示. 编译环境是Win10+VS2010.这个错误可以在Win ...

  8. VS2010 win7 QT4.8.0,实现VS2010编译调试Qt程序,QtCreator静态发布程序

    下载源代码,注意一定是源码压缩包如qt-everywhere-opensource-src-4.8.0.zip, 不是Qt发布的已编译的不同版本的标准库如qt-win-opensource-4.8.0 ...

  9. 亲测VS2010纯静态编译QT4.8.0,实现VS2010编译调试Qt程序,QtCreator静态发布程序(图文并茂,非常详细)

    下载源代码,注意一定是源码压缩包如qt-everywhere-opensource-src-4.8.0.zip,不是Qt发布的已编译的不同版本的标准库如qt-win-opensource-4.8.0- ...

随机推荐

  1. ofbiz数据库表结构设计(2)- CONTACT_MECH

    ofbiz中,party的电话.地址等联系方式设计得非常巧妙,让我们来仔细分析一下. 有一个叫做CONTACT_MECH的表,这张表我们把它称作联系方式表,一个电话号码.一个通讯地址.一个电子邮件,都 ...

  2. 标准IO与文件IO 的区别

    先来了解下什么是标准IO以及文件IO. 标准IO:标准I/O是ANSI C建立的一个标准I/O模型,是一个标准函数包和stdio.h头文件中的定义,具有一定的可移植性.标准IO库处理很多细节.例如缓存 ...

  3. jQuery 拖动排序

    原文发布时间为:2010-04-11 -- 来源于本人的百度文章 [由搬家工具导入] <!DOCTYPE html><html lang="en">< ...

  4. 交叉编译x264和ffmpeg

    1.x264 ./configure --host=arm-hisiv300-linux CC=arm-hisiv300-linux-gcc --enable-pic --prefix=/usr/lo ...

  5. 网络编程socket-SocketServer-FTP

    16章 网络编程?应该是讲网络之间如何编程来进行通信的章节 16.1.1 客户端/服务器架构?客户端请求访问,服务器端监听请求,处理请求,进行相应的模式16.1.2 客户端/服务器编程?服务器端:创建 ...

  6. Java IO 学习(三)缓冲IO / 直接IO / 内存映射

    缓冲IO 在介绍缓冲IO之前需要先了解一下常用的机械硬盘的原理与特点 一个机械硬盘中装有多个盘片 每个盘片上有多个同心圆(磁道) 每个同心圆又由多个弧(扇区)组成,每个弧上都记录了等量的数据(比方说5 ...

  7. 透过ReentrantLock窥探AQS

    背景 JDK1.5引入的并发包提供了一系列支持中等并发的类,这些组件是一系列的同步器,几乎任一同步器都可以实现其他形式的同步器,例如,可以用可重入锁实现信号量或者用信号量实现可重入锁.但是,这样做带来 ...

  8. ACM的奇计淫巧_扩栈C++/G++

    C++ #pragma comment(linker, "/STACK:102400000,102400000") G++ << ; // 256MB char *p ...

  9. POJ 2492 A Bug's Life 并查集的应用

    题意:有n只虫子,每次给出一对互为异性的虫子的编号,输出是否存在冲突. 思路:用并查集,每次输入一对虫子后就先判定一下.如果两者父亲相同,则说明关系已确定,再看性别是否相同,如果相同则有冲突.否则就将 ...

  10. commons-lang3-StringUtils

    字符串工具类   abbreviate(String str, int maxWidth) 返回一个指定长度加省略号的字符串,maxWidth必须大于3 StringUtils.abbreviate( ...