本机环境: 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”;