Windows下编译libcurl
Windows下libcurl静态库的编译和使用
最近在玩一个游戏,这游戏的服务器是http通信的,就想伪造一些数据看看.想起了curl,于是去下载,结果编译半天总是出错,又浪费了好多时间,现在成功了,记下来.
首先从这里下载最新的源代码
http://curl.haxx.se/download.html
libcurl是源码,curl是一个http的工具,反正我用libcurl的源码就够了.
打开找到相应的VC版本工程用VS打开,我用的是VS2012,相应的版本是VC11.
一开始编译出错,因为这个版本里包含了ssh和ssl的第三方库,我也用不着所以在预编译宏里把关于ssl和ssh的都去掉.
然后继续编译lib静态库成功了,新建测试工程加入头文件和生成的附加库libcurld.lib,发现有无法识别的外部符号错误,网上找了半天解决方法.
最后的解决方法是. libcurl的预编译设定为WIN32
_DEBUG
BUILDING_LIBCURL
测试项目的预编译设置为BUILDING_LIBCURL
并且在测试项目头文件中添加以下内容#define CURL_STATICLIB
#if defined(_DEBUG)
#pragma comment(lib, "libcurld.lib")
#else
#pragma comment(lib, "libcurl.lib")
#endif
#pragma comment(lib,"winmm.lib" )
#pragma comment(lib,"ws2_32.lib" )
#pragma comment(lib,"wldap32.lib" )
再次编译,搞定.