本机环境: 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. statik golang 静态资源嵌入二进制文件工具使用(docker 构建)

      将静态资源打包进二进制文件有好多方便的地方 方便客户演示 代码简单加密 运行方便 statik 就是一款在golang 中用的比较多,nodejs 有一款pkg (oclif 就推荐使用此工具) ...

  2. FastAdmin 插件的 Git 开发流程(简明)

    FastAdmin 插件的 Git 开发流程(简明) cms zip 安装 包安装 删除 addons 里的 cms 使用 mklink 软链接到 cms 插件 Git 仓库 修改 cms 插件 gi ...

  3. vue-resource 知识点

    vue-resource 发送json到后端: Content-Type字段的类型是application/json,就会有options请求. http://www.ruanyifeng.com/b ...

  4. java 环境变量与安装目录

    JDK安装完成后有如下文件夹 bin:存放JDK的各种工具命令,如javac.java等命令. jre:运行java程序所必须的JRE环境 lib:JDK工具命令的实际执行程序,如tools.jar中 ...

  5. 非root用户执行程序---sudo的使用

    场景 在应用部署过程中,会遇到这样的问题:前期需要root用户执行配置.初始化工作,而具体的业务应用需要使用非root用户启动. 如何解决呢? 方法 可以使用sudo,实现授权. sudo命令授权,既 ...

  6. socket编程时SIGPIPE信号的处理

    如果在write调用期间对方关闭连接,视时间顺序的不同有以下几种情况: 1. 刚好在write调用之前对方关闭: write返回失败,同时产生SIGPIPE. 2. write调用过程中对方关闭: 返 ...

  7. C/C++基础----类

    IO类属于不能被拷贝的类型,因此只能通过引用来传递.同时读取和写入操作都会改变流的内容,所以接收的是普通引用. 类内的友元声明仅仅指定了访问的权限,需要在友元声明之外再专门对函数进行一次声明. 可变数 ...

  8. bzoj 2601: [Jsoi2011]同分异构体计数

    Description Antonio 最近对有机化学比较感兴趣,他想请你帮助他快速计算出某种烃类的同分异 构体的数目.  为了表述方便,我们作出如下定义:    环烷烃: 具有n 个碳原子的环烷烃可 ...

  9. web服务器检测

    # coding=utf-8 import sys import socket import re def check_webserver(address, port, resource): addr ...

  10. GC之五--SystemGC完全解读

    目录: GC之一--GC 的算法分析.垃圾收集器.内存分配策略介绍 GC之二--GC日志分析(jdk1.8)整理中 GC之三--GC 触发Full GC执行的情况及应对策略 gc之四--Minor G ...