由于网上下载的 libcurl 不支持 gzip,只好自己动手编译,期间走了很多弯路,下面是最终成功的记录。
我所使用的环境 Visual Studio 2010 、 Windows 7 64 bit

下载文件

libcurl

  1. 下载页面 http://curl.haxx.se/download.html<br /> 下载地址 http://curl.haxx.se/download/curl-7.26.0.zip

zlib

下载页面 http://sourceforge.net/projects/libpng/files/zlib/<br />    下载地址 http://sourceforge.net/projects/libpng/files/zlib/1.2.5/zlib125.zip/download

openssl

 下载页面 http://www.openssl.org/source/<br />     下载地址 http://www.openssl.org/source/openssl-1.0.0c.tar.gz

编译openssl还需下载ActivePerl

官方下载 http://www.activestate.com/activeperl/downloads
下载地址: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

解压及安装文件

ActivePerl安装,双击直接下一步,默认设置到底。
zlib openssl libcurl分别解压,他们三个在同一级目录。

例如:D:UserDeweiTestCurlcurl-7.26.0、D:UserDeweiTestCurlopenssl-1.0.0c、D:UserDeweiTestCurlzlib-1.2.5

编译过程

zlib编译

用vs2010打开zlib-1.2.5/old/visualc6/zlib.dsw,选择DLL_Release编译,把编译生成的zlib-1.2.5/old/visualc6/Win32_DLL_Release/ zlib1.lib 复制到curl-7.26.0/lib目录下,重命名为 zdll.lib (注意必须为此文件名) 。

openssl编译

  • 打开cmd,cd到openssl-1.0.0c目录下;
  • 运行命令 perl Configure VC-WIN32
  • 再运行 msdo_ms.bat
  • 再运行 “C:Program Files (x86)Microsoft Visual Studio 10.0vcvars32.bat”
  • 运行命令 nmake -f ms/ntdll.mak

编译curl-7.26.0

在curl-7.26.0/lib目录下新建release.bat,输入以下内容

 call “C:/Program Files/Microsoft Visual Studio 10.0/VC/bin/vcvars32.bat”
   set CFG=release-dll-ssl-dll-zlib-dll
   set OPENSSL_PATH=../../openssl-1.0.0c
   set ZLIB_PATH=../../zlib-1.2.5
   nmake -f Makefile.vc10

保存,然后运行。

等待一会儿,就可以到 curl-7.26.0librelease-dll-ssl-dll-zlib-dll 目录下拷文件 libcurl_imp.lib和libcurl.dll 啦!

参考资料:curl-7.26.0/docs/INSTALL

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 dynam

ic 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 dyna

mic 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 dynami

c zlib

image.jpeg