您的位置:首页 > 其它

libcurl转载

2013-10-09 08:58 323 查看
//
最近用curl做应用。。
下了最新的curl-7.21.6
用VS2008编译,生成静态库及动态库。
开始想用静态库,发现不行, 换成动态库:
添加头文件目录: 工具-》选项-》项目和解决方案-》VC++目录 -》包含文件,添加:D:\my_codes\curl-7.21.6\curl-7.21.6\include
给项目添加依赖库:libcurl_imp.lib
把libcurl.dll 拷到项目目录下。
OK

然后,不爽,因为发布程序时要带上dll文件,决定用lib.
然后老是出现
1>curl_adapter.obj : error LNK2001: 无法解析的外部符号 _curl_easy_setopt
1>curl_adapter.obj : error LNK2001: 无法解析的外部符号 _curl_easy_perform
1>curl_adapter.obj : error LNK2001: 无法解析的外部符号 _curl_easy_cleanup
1>curl_adapter.obj : error LNK2001: 无法解析的外部符号 _curl_easy_init
1>my_scrobbler.obj : error LNK2001: 无法解析的外部符号 _curl_free
1>my_scrobbler.obj : error LNK2001: 无法解析的外部符号 _curl_escape

找到原因: http://blog.csdn.net/pgmsoul/archive/2009/05/20/4203941.aspx http://curl.haxx.se/mail/lib-2007-11/0300.html

步骤:
先确定项目的
VS2008,项目——属性——配置属性——C/C++——代码生成:他有/MT,/MTd,/Md,/MDd四个选项
要确定两个项目是一致的: libcurl 及 你自己的项目。

然后重新生成libcurl

然后到你的项目中:
添加依赖库:
#pragma comment( lib, "libcurl.lib" )
#pragma comment ( lib, "ws2_32.lib" )
#pragma comment ( lib, "winmm.lib" )
#pragma comment (lib, "wldap32.lib")

然后添加预处理器定义:【项目属性-》C/C++ -》 预处理器-》 预处理器定义】
CURL_STATICLIB

重新编译OK!!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: