使用CURL静态库报错的问题

来源:互联网 发布:淘宝卖的息肌丸管用吗 编辑:程序博客网 时间:2024/05/21 13:59


转自http://blog.csdn.net/varding/article/details/5329023

今天准备写个简单的http页面访问程序,以前在vc2005下用过就把代码搬过来了

因为我现在改用了vc2008因此需要重新编译lib

以前用命令行nmake编译成dll,今天偷懒直接进入lib目录用vc2008打开vc6libcurl.dsw

生成->批生成  选择了lib debug和lib release(静态链接不用带dll了)

 

在编译的时候出现问题如下:

注:以前在vc2005下用mfc工程并且libcurl用的dll方式没问题,这次vc2008用的sdk并且libcurl用的静态编译,也不知道什么问题引起的

 

HttpWebRequest.obj : error LNK2001: 无法解析的外部符号 __imp__curl_slist_free_all
1>HttpWebRequest.obj : error LNK2001: 无法解析的外部符号 __imp__curl_easy_cleanup
1>HttpWebRequest.obj : error LNK2001: 无法解析的外部符号 __imp__curl_easy_getinfo
1>HttpWebRequest.obj : error LNK2001: 无法解析的外部符号 __imp__curl_easy_setopt
1>HttpWebRequest.obj : error LNK2001: 无法解析的外部符号 __imp__curl_slist_append
1>HttpWebRequest.obj : error LNK2001: 无法解析的外部符号 __imp__curl_easy_init
1>HttpWebRequest.obj : error LNK2001: 无法解析的外部符号 __imp__curl_global_init
1>HttpWebRequest.obj : error LNK2001: 无法解析的外部符号 __imp__curl_easy_perform

 

上网查了好久找到了这个链接:

http://bobobobo.wordpress.com/2008/11/08/working-with-curl-getting-started-the-easy-way-on-win32/终于解决了问题

 

具体步骤就是:

1、给工程添加依赖的库:项目->属性->链接器->输入->附加依赖项,把libcurl.lib ws2_32.lib winmm.lib wldap32.lib添加进去

注意,debug配置用libcurld.lib

2、加入预编译选项:项目->属性->c/c++ ->预处理器->预处理器,把  ;BUILDING_LIBCURL;HTTP_ONLY复制进去(注意不要丢了";")

 

问题解决!不过我还是不知道步骤二的原因...谁知道的麻烦留言说下,谢谢!

另外说一下,使用BUILDING_LIBCURL是因为这编译CURL静态库的LIB预编译宏,HTTP_ONLY估计是楼主只想使用HTTP


原创粉丝点击