在Windows上编译最新的CURL,含有zlib,openssl
最近,从网上下载了一个curl库,使用时各种报错,都无法启动,于是干脆就直接自己编译了。
1. 准备工作
a. 下载zlib
zlib可以使得HTTP请求支持gzip压缩,其地址如下:
官网:http://zlib.net/
下载地址:http://zlib.net/zlib-1.2.8.tar.gz
b. 下载openssl
opensll使用与支持SSL,例如HTTPS的请求。
官网:http://www.openssl.org
下载地址:http://www.openssl.org/source/openssl-1.0.1f.tar.gz
c. 下载curl
官网:http://curl.haxx.se
下载地址:在http://curl.haxx.se/download.html选择你所想要的版本,我这儿选用最新的7.35.0版本 [http://curl.haxx.se/download/curl-7.35.0.tar.gz]
d. 下载ActivePerl
官网:http://www.activestate.com/activeperl/downloads
请注意根据自己的系统版本【32,64】选择不同的安装包【链接失效时用迅雷可下载】
下载地址:http://downloads.activestate.com/ActivePerl/releases/5.16.0.1600/ActivePerl-5.16.0.1600-MSWin32-x86-295879.msi
X64下载地址:http://downloads.activestate.com/ActivePerl/releases/5.16.0.1600/ActivePerl-5.16.0.1600-MSWin32-x64-295879.msi
编译方法:
a. 安装activePerl
直接双击安装,用默认设置就可以了。
b. 解压所有的源码文件,全部放在一个目录下,比如我是房子c:\curl目录下,目录结构如下:
c. 编译zlib
从开始菜单,选择Microsoft Visual Studio 2005 > Visual Studio Tools > Visual Studio 2005 Command Prompt,如下图:
之后会弹出一个CMD窗口,切换到zlib的目录下C:\curl\zlibxxx,然后输入:
- nmake -f win32/Makefile.msc OBJA="inffast.obj"
过了一会儿就编译成功。
2. 编译openssl
将当前目录切换到C:\curl\openssl-1.0.1f,如何输入下面执行下面的命令:
ps:请不要直接打开cmd用vs自带的命令行工具
- ms\32all.bat
然后就开始了漫长的编译,我这等了15分钟才编译好= =$
3. 编译curllib
将当前目录切换到curl的的目录下C:\curl\curl-7.35.0\lib,然后依次输入一下的命令:
- set OPENSSL_PATH=..\..\openssl-1.0.1f
- set ZLIB_PATH=..\..\zlib-1.2.8
- nmake -f Makefile.vc8 CFG=release-dll-zlib-dll
注意 Makefile.vc6是VC6.0的版本,VC8是VC2005,VC9是VS2008,依次类推吧。
CFG是配置编译结果选项,其具体内容如下:
- Usage: nmake /f makefile.vc6 CFG=<config> <target>
- where <config> is one of:
- release - release static library
- release-ssl - release static library with ssl
- release-zlib - release static library with zlib
- release-ssl-zlib - release static library with ssl and zlib
- release-ssl-ssh2-zlib - release static library with ssl, ssh2 and zlib
- release-ssl-dll - release static library with dynamic ssl
- release-zlib-dll - release static library with dynamic zlib
- release-ssl-dll-zlib-dll - release static library with dynamic ssl and dynamic zlib
- release-dll - release dynamic library
- release-dll-ssl-dll - release dynamic library with dynamic ssl
- release-dll-zlib-dll - release dynamic library with dynamic zlib
- release-dll-ssl-dll-zlib-dll - release dynamic library with dynamic ssl and dynamic zlib
- debug - debug static library
- debug-ssl - debug static library with ssl
- debug-zlib - debug static library with zlib
- debug-ssl-zlib - debug static library with ssl and zlib
- debug-ssl-ssh2-zlib - debug static library with ssl, ssh2 and zlib
- debug-ssl-dll - debug static library with dynamic ssl
- debug-zlib-dll - debug static library with dynamic zlib
- debug-ssl-dll-zlib-dll - debug static library with dynamic ssl and dynamic zlib
- debug-dll - debug dynamic library
- debug-dll-ssl-dll - debug dynamic library with dynamic ssl
- debug-dll-zlib-dll - debug dynamic library with dynamic zlib1
- debug-dll-ssl-dll-zlib-dll - debug dynamic library with dynamic ssl and dynamic zlib
- <target> can be left blank in which case all is assumed
- Makefile.vc8(501) : fatal error U1050: please choose a valid configuration "rele
- ase-dll-ssl-dll-zlib-dll "
- Stop.
大家可以根据自己的需要编译不同的DLL和lib,我就选择编译了两个静态库:
- nmake -f Makefile.vc8 CFG=release-ssl-zlib
- nmake -f Makefile.vc8 CFG=debug-ssl-zlib
然后就是开始华丽丽的刷屏等待啦~~~
过了几分钟之后,就编译好了,将C:\curl\curl-7.35.0\lib\会有debug-ssl-zlib和release-ssl-zlib目录,拷贝到VS的工程目下,然后配置一下就可以使用了。
在Windows上编译最新的CURL,含有zlib,openssl的更多相关文章
- (转)windows下编译最新的x264
二:<windows下编译最新的x264> X264更新的比较快,每天都有更新,但算法模块,基本结构是没有多大变化的.x264都是用C语言写的包括C99,但C99语法是在VC中是没法用的( ...
- 在windows上编译wireshark源代码
终于在windows上成功编译了wireshark源代码,个中酸辛,都是泪..只能说要多试! windows上编译wireshark共用到三个东西:wireshark源代码.python.cygwin ...
- 在windows 上编译部署Rap2
在windows 上编译部署Rap2 引言 安装需要的环境 安装后端站点 创建数据库 在全局安装pm2 和 typescript 配置mysql,redis 数据库链接配置 初始化 编译 初始化数据库 ...
- 在Mac/Linux/Windows上编译corefx遇到的问题及解决方法
这两天尝试在Mac/Linux/Windows三大平台上编译.NET跨平台三驾马车(coreclr/corefx/dnx)之一的corefx(.NET Core Framework),结果三个平台的编 ...
- [ZZ] 在windows上编译Mesa3d opengl32库
在windows上编译Mesa3d opengl32库 cheungmine http://blog.csdn.net/ubuntu64fan/article/details/8061475 Mesa ...
- 利用openssl管理证书及SSL编程第2部分:在Windows上编译 openssl
利用openssl管理证书及SSL编程第2部分:在Windows上编译 openssl 首先mingw的环境搭建,务必遵循下文: http://blog.csdn.net/ubuntu64fan/ar ...
- 在windows上编译MatConvNet
有个BT的要求,在windows上使用MatConvNet,并且需要支持GPU. 费了些力气,记录一下过程(暂不支持vl_imreadjpeg函数) 在这里下载MatConvNet,机器配置vs201 ...
- 如何在 Windows上编译Objective-C
Objective-C现在几乎已经变成了苹果的专利了,可以直接在苹果的Xcode上编译Objective-C程序,但是在Windows平台下的编译工具就寥寥无几了,本身这种语言用的人就不是很多.今天在 ...
- Windows 上编译 corefx 源码生成 Linux 上可用的 System.Data.SqlClient.dll
最近在排查一个奇怪的 EF Core 查询速度慢的问题,需要在 corefx 2.2.3 的 System.Data.SqlClient 源码中打点. github 上签出 corefx 的源代码,运 ...
随机推荐
- LDAP binary字段读取
今天做LDAP发布图片,用binary属性存储.存储没有问题,但是读取时发现字段变成String形式并且内容是乱码,怎么转换都不能解决. 最后度了下发现 默认情况下Attribute#get()返回的 ...
- iOS开发常见BUG和一些小技巧(ps:耐心看完,很实用)
[385][scrollView不接受点击事件,是因为事件传递失败] // // MyScrollView.m // Created by beyond on 15/6/6. // Copyright ...
- IPython, Notebook, NumPy, SciPy, matplotlib 和其它
安装这些工具pip install ipython pip install notebookpip install numpypip install scipypip install matplotl ...
- Win10怎么设置始终以管理员身份运行应用程序
第一步.对着Win10应用程序桌面图标单击鼠标右键,菜单中选择“属性”; 第二步.在程序属性对话框,点击切换到“兼容性”选项卡,找到并勾选“设置”项目下的“以管理员身份运行此程序”后,点击确定即可. ...
- mvc 项目下 webservice 程序无法运行
错误描述: 可以出现调用HelloWorld的界面 点击调用按钮报无法找到该资源 错误分析: 把webservice当成controller了. 解决: global中 添加 routes.Igno ...
- tcp/ip http socket笔记
1.TCP/IP协议是传输层协议,主要解决数据如何在网络中传输 HTTP是应用层协议,主要解决如何包装数据 2.TCP连接的三次握手 第一次握手:客户端发送syn包到服务器,并进入SYN_SEND状态 ...
- centos7 install 安装mysql
# wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm # rpm -ivh mysql-community- ...
- Appium移动自动化测试之Java篇
1.环境准备:创建模拟器请参考:http://www.cnblogs.com/mrjade/p/5803131.html 2.新建一个java project,[File]-->[New]--& ...
- 在Android开发中如何判读当前设备是否连接网络
1:前言: 我们在Android开发的过程中,很多实现是要向远程服务器拿数据的,但是未必当前设备一定连接了网络啊,那么此时我们就是要进行判断的了, 如果是有网络的话,那么此时就去向远程服务器去拿数据, ...
- dockManager中DockPanel的刷新问题!
使用的是DevExpress的dockManager控件,新增一个DockPanel,在DockPanel中添加一个AxMapControl控件并设置默认加载地图. 实现效果图如下: 但是存在一个问题 ...