本机环境: Visual Studio 2010 、 Windows 7 64 bit

1: 下载文件

1.1 libcurl: curl-7.49.1.zip

地址: https://curl.haxx.se/download/curl-7.49.1.zip

1.2 zlib: zlib-1.2.8.tar.gz

地址: http://prdownloads.sourceforge.net/libpng/zlib-1.2.8.tar.gz?download

1.3 openssl: openssl-0.9.8r.tar.gz

地址: https://www.openssl.org/source/old/0.9.x/openssl-0.9.8r.tar.gz 
注:openssl的最新版本我编译会报错,没找到原因,所以用了老的版本。

2: 解压及安装文件

编译openssl需下载安装ActivePerl 
官方下载 http://www.activestate.com/activeperl/downloads 
2.1 ActivePerl安装,双击直接下一步,默认设置到底。 
-手动添加环境变量,在系统变量中找到path,添加复制的路径(D:\Perl64\bin) 
//我的ActivePerl安装在D:\Perl64\这个文件夹下面(perl.exe在D:\Perl64\bin目录下)。 
-64位地址: 
http://www.activestate.com/activeperl/downloads/thank-you?dl=http://downloads.activestate.com/ActivePerl/releases/5.22.1.2201/ActivePerl-5.22.1.2201-MSWin32-x64-299574.msi 
2.2 zlib openssl libcurl分别解压,他们三个在同一级目录。 
openssl目录设置成”openssl”这个,libcurl里的默认设置的openssl文件夹,不需要你改目录了。 
例如:D:\User\curl-7.49.1;D:\User\openssl;D:\User\zlib-1.2.8

3: 编译过程

3.1 编译zlib 
- 开启VS2010的Command Prompt 
- cd命令进入到zlib-1.2.8\contrib\masmx86目录 
- 执行目录下的bld_ml32.bat 
- 打开工程项目zlib-1.2.8\contrib\vstudio\vc10\zlibvc.sln 
- 编译整个solution(Release) 
- 在zlib-1.2.8\contrib\vstudio\vc10\x86\ZlibDllRelease下会生成zlibwapi.dll,zlibwapi.lib文件,其他可以不管。

3.2 编译openssl 
- 打开cmd,cd到openssl-0.9.8r目录下; 
- 运行命令 perl Configure VC-WIN32 
- 再运行 ms\do_ms.bat 
- 再运行 “C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\vcvars32.bat” 
- 运行命令 nmake -f ms/ntdll.mak 
- 会生成

3.3 编译curl-7.49.1 
VS2010加载curl-7.49.1\projects\Windows\VC10\curl-all.sln打开直接编译就行。。。 
我编译的是DLL-Release - DLL OpenSSL

其他可能出现的问题: 
1: zlibwapi.lib 复制到curl-7.49.1/lib目录下,重命名为 zdll.lib 
2:所有目录上面都设置过了,如果不对,查看有没有: 
1)附加包含目录:”……….\openssl\inc32”; 
2)库目录: “……….\openssl\out32dll”;

----------------------------------------------------------------------------

http://blog.csdn.net/tpnndhqc/article/details/51602767

http://dewei.iteye.com/blog/1590979

libcur+openssl的编译,使之支持SSL<转>的更多相关文章

  1. 全部用startssl生成的证书,配置Apache使其支持SSL

    Apache的编译安装见这篇: http://www.cnblogs.com/yjken/p/3921840.html 网上查阅了一大批资料,得知自己生成的证书是会被浏览器提示“证书不安全”的,我也就 ...

  2. 记一次在mac上源码编译curl,使其支持NSS的过程

    一.背景 在一次学习https原理的过程中,希望客户端指定特定的cipher suites来抓包分析SSL/TLS的握手过程,就想到了使用curl工具,而不是使用浏览器. 接下来使用man curl找 ...

  3. 编译安装haproxy开启支持SSL

    1.下载程序包 # wget http://www.haproxy.org/download/1.7/src/haproxy-1.7.5.tar.gz # tar xvf haproxy-1.7.5. ...

  4. net-snmp源码VS2013编译添加加密支持(OpenSSL)

    net-snmp源码VS2013编译添加加密支持(OpenSSL) snmp v3 协议使用了基于用户的安全模型,具有认证和加密两个模块. 认证使用的算法是一般的消息摘要算法,例如MD5/SHA等.这 ...

  5. net-snmp源码VS2013编译添加加密支持(OpenSSL)(在VS里配置编译OpenSSL)

    net-snmp源码VS2013编译添加加密支持(OpenSSL) snmp v3 协议使用了基于用户的安全模型,具有认证和加密两个模块. 认证使用的算法是一般的消息摘要算法,例如MD5/SHA等.这 ...

  6. 使ApacheBench支持multi-url

    目录 1.下载Apache httpd相关源码包以及针对ab工具的patch包 2.编译安装apr 3.编译安装apr-util 4.替换httpd源码里面的ab.c文件 5.编译安装httpd 6. ...

  7. Linux下安装libiconv使php支持iconv函数

    libiconv组件安装好了可以让我们php支持iconv函数了,这个函数的作用就是字符编码强制转换了,下面和111cn小编一起来看一个Linux中安装libiconv使php支持iconv函数的例子 ...

  8. 修改OpenSSL默认编译出的动态库文件名称

    在 Windows 平台上调用动态链接库 dll 文件时,有两种方式:a) 隐式的加载时链接:使用 *.lib (导入库)文件,在 IDE 的链接器相关设置中加入导入库 lib 文件的名称,或在程序中 ...

  9. Qone 正式开源,使 javascript 支持 .NET LINQ

    Qone 下一代 Web 查询语言,使 javascript 支持 LINQ Github: https://github.com/dntzhang/qone 缘由 最近刚好修改了腾讯文档 Excel ...

随机推荐

  1. vulcanjs 简单package 编写

    vulcanjs 功能是以包进行管理,包里面包含了运行依赖的组件以及对于路由的注册 参考项目 项目结构 ├── README.md ├── license.md ├── package-lock.js ...

  2. C# 使用oledb 方式连接本地或者远程oracel 数据库的方式

    对于C# 进行oracle 数据库的开发来说使用oracle 提供的odp.net 方式是比较方便的,同时在性能以及兼容性也是比较好的 但是,对于不打算使用的,那么该如何使用oledb 进行连接 连接 ...

  3. C语言屏幕打印,再删除打印的内容

    在做项目的时候,用到了命令行模式进行监听数据,并且是多线程的.因为程序大部分时间都只是在监听状态,容易给人假死的信息.所以单独使用一个进行在屏幕上打印省略号(.......),然后再把打印的省略号(. ...

  4. 使用 Python 连接到 PADS Layout

    使用 Python 连接到 PADS Layout PADS Layout 使用的是 VBA 编程,很多人说 VBA 很简单,但是实在学不会,可能是太笨了. 后来发现 PADS Layout 有 CO ...

  5. ActiveMQ集群方案

    集群方案主要为了解决系统架构中的两个关键问题:高可用和高性能.ActiveMQ服务的高可用性是指,在ActiveMQ服务性能不变.数据不丢失的前提下,确保当系统灾难出现时ActiveMQ能够持续提供消 ...

  6. vue 文件中的注释

    在每个代码块内,注释的时候,需要使用各自语言的注释语法去注释(HTML.CSS.JavaScript.Jade 等).在文件最顶部注释的时候用HTML的注释语法:<!- 在这里写注释的内容 -- ...

  7. script 标签的defer,async的作用,及拓展浏览器多线程,DOMContentLoaded

    前端优化有一点就是优化js的执行时机,一般做法是将script放置于body的结束标签,以避免加载执行js 文件导致页面渲染阻塞的问题这种做法确实能防止页面阻塞,但是在页面渲染完成之后才去加载js文件 ...

  8. Eclipse更改皮肤

    今天在网上看到别人的Eclipse皮肤很漂亮,所以也就查了一下如何更改. 其实很简单,现在一起来: Help -> Install New Software -> add  -> n ...

  9. ES(3): ES Cluster Extended Azure Storage

    Azure VM的磁盘空间远远不能满足ES集群存储需求(还需除掉VM的临时盘),同时也未找着ES配置 block blob storage 存储的组件,因此下文介绍通过挂载附加盘的方式增加ES集群存储 ...

  10. MySQL数据库函数

    一:字符串函数: 1.concat(); concat(S1,S2,S3,......Sn); 把传入参数链接 成一个字符串; 2.insert(); insert(str,x,y,insert); ...