環境:
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();