windows libcur编译支持https的静态库 windows+vs2010
注意:最好是放在c盘编译,其他盘容易出配置问题,保持工程运行库一致全部选TM静态库
-
编译zlib1.2.11 ;
解压zlib-1.2.11,zlib-1.2.11\contrib\vstudio\vc10 目录下用vs2010打开zlibvc.sln;
编译 zlibstat工程即可 此为静态版zlib工程 ,运行库选MT编译,
生成zlib-1.2.11\contrib\vstudio\vc10\x86\ZlibStatReleaseWithoutAsm\zlibstat.lib文件。
最终使用的文件:zlib.h;zconf.h;zlibstat.lib
重点: a.记住预编译定义 ZLIB_WINAPI 编译curl工程时需要添加此定义不然使用库文件会报错;
b.去掉工程中的.rc文件编译,不然curl编译也报错2.编译openssl 1.1.0
下载 openssl-1.1.0.tar.gz 安装 ActivePerl, http://www.activestate.com/activeperl/downloads下载最新版本, 需要用到 perl 解释器。 下载并安装 Nasm 汇编器,并将 C:\Program Files\NASM ==添加到系统环境变量 Path== 中 安装好后 cmd 中 perl -v 可以看到版本号 表示安装好,安装时记得勾上默认添加环境变量到系统; 解压缩 openssl 源代码包,进入 openssl 的根目录, 如 C:\openssl-1.1.0。 使用 VS2010 下的 Visual Studio 2010 命令提示符进入编译目录C:\openssl-1.1.0 。 静态库执行配置: perl configure no-asm no-shared VC-WIN32 --prefix="c:\lib\" 如果提示安装dmake,就执行命令 ppm install dmake 自动下载安装,若是失败重试即可。
VC-WIN32必须大写,编译选项有大小写区分,–prefix设置编译成功后lib的存放目录
配置执行成功后 依次执行编译命令:
nmake
nmake test
nmake install
配置的生成目录中将会生成 bin 、include、lib 目录和相关文件大功告成
3.编译libcur7.65.3
下载最新版并解压
curl-7.65.3\projects\Windows\VC10 目录用vs2010打开curl-all.sln 工程
选择libcur工程 添加上面说的 ZLIB_WINAPI 预编译选项 选择LIB Release - DLL Windows SSPI 模式
并工程添加openssl 和 zlib 的头文件 zlib和openssl的引用。附加依赖项 添加
ws2_32.lib
wldap32.lib
crypt32.lib
libcrypto.lib
libssl.lib
zlibstat.lib
编译完成就大功告成了 目录curl-7.65.3\build\Win32\VC10\LIB Release - DLL Windows SSPI生成libcurl.lib 。有点大23M大小。
测试:
CURL *curl;
CURLcode res;
curl = curl_easy_init();
if (curl)
{
curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, false);
curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, true);
curl_easy_setopt(curl, CURLOPT_URL, “https://www.baidu.com”);
curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L);
res = curl_easy_perform(curl);
if (res != CURLE_OK)
{
fprintf(stderr, “curl_easy_perform() failed: %s\n”, curl_easy_strerror(res));
}
curl_easy_cleanup(curl);
}
system(“pause”);
https 访问成功。