libcurl编译及使用

时间:2023-03-09 02:53:28
libcurl编译及使用

环境:

libcurl版本:7.54.1

VS:Visual Studio 2013

一、编译

1、下载最新版的libcurl(curl-7.54.1.zip)(地址:https://curl.haxx.se/download.html),并解压。可以通过Download Winzard来选择你需要的包。

2、打开VS2013 开发人员命令提示,并CD进入 \curl-7.54.1\winbuild 目录。

VS生成代码的时候有一个运行库选项(项目属性 - 配置属性 - C/C++ - 代码生成 - 运行库)/MT和/MD(/MTd和/MDd是对应的debug版本)。编译时如果加了RTLIBCFG=static这个选项,就相当于编译了/MT版本的libcurl,否则是/MD版本的(默认);如果加了DEBUG=yes,就是编译了Debug版本的,否则就是Release版本的(默认)。

编译命令(编译静态库mode=static):

nmake /f Makefile.vc mode=static VC=12              //  相当于/MD
nmake /f Makefile.vc mode=static VC=12 DEBUG=yes // 相当于/MDd
nmake /f Makefile.vc mode=static VC=12 RTLIBCFG=static // 相当于/MT
nmake /f Makefile.vc mode=static VC=12 RTLIBCFG=static DEBUG=yes // 相当于/MTd

3、编译完毕,会在build目录生成文件。

4、更多信息参看\winbuild目录中的BUILD.WINDOWS.txt

二、使用

1、拷贝include中curl文件夹和lib文件夹中的libcurl_a.lib静态库至工程目录。

2、加入预处理定义(如果是静态连接libcurl库)和头文件

#define CURL_STATICLIB
#include "curl\curl.h"

3、链接库

#if _DEBUG
#pragma comment(lib,"libcurl_a_debug.lib")
#else
#pragma comment(lib,"libcurl_a.lib")
#endif

4、构造函数或者初始化函数中加入

curl_global_init(CURL_GLOBAL_ALL);

5、析构函数或者退出函数中加入

curl_global_cleanup();