一、下载,编译,配置
参考博客:https://blog.csdn.net/DaSo_CSDN/article/details/77587916
https://blog.csdn.net/u012814856/article/details/81638421
官方下载地址:https://curl.haxx.se/download.html
下载完后解压,进入文件夹,运行buildconf.bat
编译以64位为例,在开始菜单中找到Visual Studio 2017文件夹,如下图所示,选择“适用于VS2017的x64本机工具命令提示”,右键,选择“以管理员身份运行”。
进入curl文件夹下的winbuild文件夹
VS2017+x64+静态编译:
输入nmake /f Makefile.vc mode=static VC=15 MACHINE=x64 DEBUG=no。
如果想使用动态编译,将mode=static改为mode=dll。(本文仅教静态编译,同时curl官方也不建议使用动态编译)
如果使用x86,将MACHINE=x64改为MACHINE=x86。
如果需要debug版,将DEBUG=no改为DEBUG=yes。
如果你是VS2017且未更新到最新版,VC=15建议改为VC=14。
更详细的编译指令及说明可以打开winbuild文件夹中的BUILD.WINDOWS.txt查看
回车,编译完成后,在builds文件夹下的libcurl-vc15-x64-release-static-ipv6-sspi-winssl目录下就有我们需要的头文件和lib库。用的时候将其配置到项目中即可。其中lib是release版本下的。
将在上述编译生成的include文件夹和lib文件夹分别放在include/libcrul和lib/libcrul下
配置如下:
要特别注意是Release下的x64。
将以下lib库添加至工程:
libcurl_a.lib Ws2_32.lib Wldap32.lib winmm.lib Crypt32.lib Normaliz.lib
本文使用了静态编译,所以需要将CURL_STATICLIB
添加至工程。
测试代码:
#include "curl/curl.h"
int main()
{
CURL *curl = 0;
CURLcode res;
curl = curl_easy_init();
if (curl != 0)
{
curl_easy_setopt(curl, CURLOPT_URL, "https://www.baidu.com");
/* example.com is redirected, so we tell libcurl to follow redirection */
curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L);
/* Perform the request, res will get the return code */
res = curl_easy_perform(curl);
/* Check for errors */
if (res != CURLE_OK)
{
fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res));
}
/* always cleanup */
curl_easy_cleanup(curl);
}
}