libcur+openssl的编译,使之支持SSL<转>
本机环境: 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<转>的更多相关文章
- 全部用startssl生成的证书,配置Apache使其支持SSL
Apache的编译安装见这篇: http://www.cnblogs.com/yjken/p/3921840.html 网上查阅了一大批资料,得知自己生成的证书是会被浏览器提示“证书不安全”的,我也就 ...
- 记一次在mac上源码编译curl,使其支持NSS的过程
一.背景 在一次学习https原理的过程中,希望客户端指定特定的cipher suites来抓包分析SSL/TLS的握手过程,就想到了使用curl工具,而不是使用浏览器. 接下来使用man curl找 ...
- 编译安装haproxy开启支持SSL
1.下载程序包 # wget http://www.haproxy.org/download/1.7/src/haproxy-1.7.5.tar.gz # tar xvf haproxy-1.7.5. ...
- net-snmp源码VS2013编译添加加密支持(OpenSSL)
net-snmp源码VS2013编译添加加密支持(OpenSSL) snmp v3 协议使用了基于用户的安全模型,具有认证和加密两个模块. 认证使用的算法是一般的消息摘要算法,例如MD5/SHA等.这 ...
- net-snmp源码VS2013编译添加加密支持(OpenSSL)(在VS里配置编译OpenSSL)
net-snmp源码VS2013编译添加加密支持(OpenSSL) snmp v3 协议使用了基于用户的安全模型,具有认证和加密两个模块. 认证使用的算法是一般的消息摘要算法,例如MD5/SHA等.这 ...
- 使ApacheBench支持multi-url
目录 1.下载Apache httpd相关源码包以及针对ab工具的patch包 2.编译安装apr 3.编译安装apr-util 4.替换httpd源码里面的ab.c文件 5.编译安装httpd 6. ...
- Linux下安装libiconv使php支持iconv函数
libiconv组件安装好了可以让我们php支持iconv函数了,这个函数的作用就是字符编码强制转换了,下面和111cn小编一起来看一个Linux中安装libiconv使php支持iconv函数的例子 ...
- 修改OpenSSL默认编译出的动态库文件名称
在 Windows 平台上调用动态链接库 dll 文件时,有两种方式:a) 隐式的加载时链接:使用 *.lib (导入库)文件,在 IDE 的链接器相关设置中加入导入库 lib 文件的名称,或在程序中 ...
- Qone 正式开源,使 javascript 支持 .NET LINQ
Qone 下一代 Web 查询语言,使 javascript 支持 LINQ Github: https://github.com/dntzhang/qone 缘由 最近刚好修改了腾讯文档 Excel ...
随机推荐
- Oracle中的三种Join 方式
基本概念 Nested loop join: Outer table中的每一行与inner table中的相应记录join,类似一个嵌套的循环. Sort merge join: 将两个表排序,然后再 ...
- Cocos2D-X2.2.3学习笔记13(延时动作)
版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/q269399361/article/details/28265477 还记得我们上一节讲的瞬时动作吗 ...
- Jmeter的CSV参数化策略
前提:准备一份csv文件,数字为1-9即可 线程相当于vu,循环相当于迭代 一.所有线程所有线程共享这一份文件,数据有一个线程拿走了,其他线程就拿不走 例子1:只有1个线程,循环次数2次,那么,按照上 ...
- H.264帧结构详解
6.1.2.源码简单浏览 6.1.3.重点1:h.264帧结构6.1.4.重点2:帧结构分析软件的使用6.1.5.重点3:rtsp网络编程6.1.6.重点4:wireshark网络抓包工具的使用 6. ...
- java 中一些需要注意的知识点
java数组的length属性是容量,而不是数组真实元素的个数: 多线程中的interrupt()方法并不会终止处于"运行状态"的线程,它只是将线程的中断标记设为true. juc ...
- meta viewport 理解
移动设备上的浏览器如果不指明 viewport 这个meta,当你从移动设备上浏览网页的时候,它假设(你浏览的是桌面版并且你想看到所有的内容),不只是一个左上角.因此,它会把viewport的宽度设置 ...
- Centos7安装killall,fuser, killall,pstree和pstree.x11
centos7精简安装后,使用中发现没有killall命令. 经查找,可以通过以下命令解决: yum -y install psmisc 简单介绍一下 psmisc : Psmisc软件包包含三个帮助 ...
- linq to sql 项目移植后,数据库实体类需要重新创建?
项目中,使用LINQ to SQL 访问数据库,代码移植到其他机器上,每次需要重新生成dbml文件,有无方法只要更改app.config呢? 经过试验是可行的: 1.引用system.configur ...
- 1、搭建HBase完全分布式集群
搭建完全分布式集群 HBase集群建立在hadoop集群基础之上,所以在搭建HBase集群之前需要把Hadoop集群搭建起来,并且要考虑二者的兼容性.现在就以5台机器为例,搭建一个简单的集群. 软件版 ...
- python列表中的pop
pop()将列表指定位置的元素移除,同时可以将移除的元素赋值给某个变量,不填写位置参数则默认删除最后一位. pop()根据键将字典中指定的键值对删除,同时可以将删除的值赋值给变量. a = [1, 2 ...