VC++ 編譯libcurl 支持SSL,GZIP

因爲網上下載的 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

相關文章
相關標籤/搜索