使用libcurl库时别忘加预编译头

其实前些天在写curl库,并进行简单的上传下载测试的时候就出现过了编译错误,error link 2001和error link 2019两个错误,当时找了很久都没找到原因,后来在翻curl的使用的时候无意中翻到了varding的博客(网址:http://blog.csdn.net/varding/archive/2010/02/26/5329023.aspx),他从其他网站上找到解决方案,当时我还狠狠的感慨了一番。结果这两天我又碰到这问题了,却把它给忘了,我在其他lib库里用到libcurl,编译的时候老是出现

1>down_url.obj : error LNK2019: unresolved external symbol __imp__curl_easy_getinfo referenced in function "int __cdecl down_file(char const *,char const *)" (?down_file@@YAHPBD0@Z) 1>test_11.lib(Http_file.obj) : error LNK2001: unresolved external symbol __imp__curl_easy_getinfo 1>down_url.obj : error LNK2019: unresolved external symbol __imp__curl_easy_perform referenced in function "int __cdecl down_file(char const *,char const *)" (?down_file@@YAHPBD0@Z) 1>test_11.lib(Http_file.obj) : error LNK2001: unresolved external symbol __imp__curl_easy_perform

我原先以为是lib库调用其他lib库跟我的测试方案不同,后来查过资料没有这方面的问题。直到后来找了个同事帮我解决这个问题,他一下就注意到了curl库里有很多define,还试着加了几个define,当时我脑袋就闪过了前些天加过了两个预编译。我马上预感到,问题即将解决,同时大骂自己。一经加上,rebuild,succeeded,真是喜悦和懊恼交加。

 

在exe或其他库使用curl库时,只要在直接调用curl库的项目上加上两个预编译选项:

BUILDING_LIBCURL;HTTP_ONLY

即可。

 

还有,使用的时候得把ws2_32.lib;wldap32.lib;这两个库加上,否则还会出现其他链接错误。

你可能感兴趣的:(function,File,测试,exe,2010)