首页 C/C++修行正文

curl安装配置完毕后该如何使用

欲儿 C/C++修行 2019-08-15 658 0

其实呢curl是真的大哥库啊,什么库都没这么麻烦




我们先新建一个项目哈,不同VS版本可能建的方式不一样,大家多百度一下吧。

image.png




点击下一步

image.png



点击完成。。。。

image.png




进来以后不要慌着添加代码,首先把debug换成release ,因为debug是调试版,release是发布版,代码优化做的更好,这个库接近30MB,有点大,用debug容易崩溃

image.png




然后添加源文件,一点问题都没有。

image.png






写入代码

#include <iostream>
#include <stdio.h>
#include "curl/curl.h"
using namespace std;

static size_t downloadCallback(void *buffer, size_t sz, size_t nmemb, void *writer)
{
	string* psResponse = (string*)writer;
	size_t size = sz * nmemb;
	psResponse->append((char*)buffer, size);

	return sz * nmemb;
}

int main()
{
	system("chcp 65001");//很多时候,中文乱码,加上就行了
	string strUrl = "http://www.anyuer.club";
	string strTmpStr;
	CURL *curl = curl_easy_init();
	curl_easy_setopt(curl, CURLOPT_URL, strUrl.c_str());
	curl_easy_setopt(curl, CURLOPT_NOSIGNAL, 1);//设置为1 curl不会发送任何安装处理信号到线程中去,不理解就认为是不会让系统就崩溃就行,不过我试了很多参数好像不仅仅可以写1 1 -100好像都可以
	curl_easy_setopt(curl, CURLOPT_TIMEOUT, 2L);//设置超时时间为两秒
	curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, downloadCallback);//调用回调函数
	curl_easy_setopt(curl, CURLOPT_WRITEDATA, &strTmpStr);//将数据写入到存储变量中去
	CURLcode res = curl_easy_perform(curl);
	curl_easy_cleanup(curl);
	string strRsp;
	if (res != CURLE_OK)
	{
		strRsp = "error";
	}
	else
	{
		strRsp = strTmpStr;
	}

	printf("strRsp is |%s|\n", strRsp.c_str());
	while (1);
	return 0;
}

会报错,那肯定啊,这样就算导入了源码的话,那我还出一篇帖子?????



点击 项目→属性

image.png




配置属性→C/C++→常规→附加包含目录 ,如果你是按照我上一篇帖子的解压路径,那就是输入D:\curl-7.65.3\builds\libcurl-vc12-x86-release-static-ipv6-sspi-winssl\include

如果是其他路径的话,就自己换一下吧。

image.png






配置属性→C/C++→预处理器→预处理器定义       添加CURL_STATICLIB

image.png








配置属性→链接器→常规→附加库目录,如果你是按照我上一篇帖子的解压路径,那就是输入D:\curl-7.65.3\builds\libcurl-vc12-x86-release-static-ipv6-sspi-winssl\lib

如果是其他路径的话,就自己换一下吧。

image.png









配置属性→链接器→输入→附加依赖项   添加libcurl_a.lib;Ws2_32.lib;Wldap32.lib;winmm.lib;Crypt32.lib;Normaliz.lib;

image.png




好了好了,终于安装好了开心了吧,按下F5 运行调试一番结果如图所示


image.png





版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

评论