第一个版本:

编译工具 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. Linux基础值定时任务

    Linux计划任务:列行公事 在Linux中,通过crontab与at这两个来实现这些功能 at:是一个可以处理仅执行一次就结束的指令 crontab:把你指定的工作或任务,按照你设定的周期一直循环执 ...

  2. 存储过程中set什么什么的讲解

    原文发布时间为:2008-09-27 -- 来源于本人的百度文章 [由搬家工具导入] set ansi_nulls [on/off] 与 set quoted_identifier [on/off] ...

  3. post sharp 与log4net 结合使用,含执行源码 转拷

    环境: VS 2012 PostSharp-4.1.28 (下载地址)https://visualstudiogallery.msdn.microsoft.com/a058d5d3-e654-43f8 ...

  4. cisco packet 实验教程(二)

    06. 三层交换机实现VLAN间路由 技术原理 1)三层交换机是带有三层路由功能的交换机,也就是这台交换机的端口既有三层路由功能,也具有二层交换功能.三层交换机端口默认为二层口,如果需要启用三层功能就 ...

  5. Android 单击图片切换效果

    新建一个Android项目,命名为FrameLayout 此实例主要操作src文件夹下的MainActivity.Java类文件和res/layout下的activity_main.xml布局文件 1 ...

  6. Action 和 Func 的用法以及区别

    Action 无返回值 Func 有返回值,且最后一个参数为返回值 Action用法 public static void test(string s) { Console.WriteLine(&qu ...

  7. GROOVY入门

    refer to 精通Groovy(IBM)https://www.ibm.com/developerworks/cn/education/java/j-groovy/j-groovy.html re ...

  8. 记一次kubernetes集群异常: kubelet连接apiserver超时

    Background kubernetes是master-slave结构,master node是集群的大脑, 当master node发生故障时整个集群都"out of control&q ...

  9. 洛谷——P1074 靶形数独

    P1074 靶形数独 题目描述 小城和小华都是热爱数学的好学生,最近,他们不约而同地迷上了数独游戏,好胜的他 们想用数独来一比高低.但普通的数独对他们来说都过于简单了,于是他们向 Z 博士请教, Z ...

  10. Synchronized 实现原理

    记得刚刚开始学习Java的时候,一遇到多线程情况就是synchronized.对于当时的我们来说,synchronized是如此的神奇且强大.我们赋予它一个名字"同步",也成为我们 ...