因爲網上下載的 libcurl 不支持 gzip,只好本身動手編譯,期間走了不少彎路,下面是最終成功的記錄。html
我所使用的環境 Visual Studio 2010 、 Windows 7 64 bitcurl
1 下載文件url
1.1 libcurl.net
下載頁面 http://curl.haxx.se/download.htmlhtm
下載地址 http://curl.haxx.se/download/curl-7.26.0.zipip
1.2 zlibssl
下載頁面 http://sourceforge.net/projects/libpng/files/zlib/get
下載地址 http://sourceforge.net/projects/libpng/files/zlib/1.2.5/zlib125.zip/downloadcmd
(特別提醒,不要使用1.2.7版編譯,使用後發現編譯的方法和文件名都不一樣了)openssl
1.3 openssl
下載頁面 http://www.openssl.org/source/
下載地址 http://www.openssl.org/source/openssl-1.0.0c.tar.gz
(特別提醒,不建議用1.0.1c,雖可編譯成功,但沒法繞過SSL證書,不知其緣由,浪費了我很多時間)
編譯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
2 解壓及安裝文件
2.1 ActivePerl安裝,雙擊直接下一步,默認設置到底。
2.2 zlib openssl libcurl分別解壓,他們三個在同一級目錄。
例如:D:\User\Dewei\TestCurl\curl-7.26.0、D:\User\Dewei\TestCurl\openssl-1.0.0c、D:\User\Dewei\TestCurl\zlib-1.2.5
3 編譯過程
3.1 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 (注意必須爲此文件名) 。
3.2 openssl編譯
打開cmd,cd到openssl-1.0.0c目錄下;
運行命令 perl Configure VC-WIN32
再運行 ms\do_ms.bat
再運行 "C:\Program Files (x86)\Microsoft Visual Studio 10.0\vcvars32.bat"
運行命令 nmake -f ms/ntdll.mak
參考資料:openssl-1.0.0c/INSTALL.W32
3.3 編譯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.0\lib\release-dll-ssl-dll-zlib-dll 目錄下拷文件 libcurl_imp.lib和libcurl.dll 啦!
參考資料:curl-7.26.0/docs/INSTALL