在程序中使用libcurl的的静态链接库产生的未导出符号的错误
来源:互联网 发布:开展数据库系统培训 编辑:程序博客网 时间:2024/05/22 06:18
原文链接:http://hi.baidu.com/programmeboy/item/d92eaff0f8095515d7ff8cbf
今天在使用libcurl的时候出现一个很普遍,但是叫我怎么也费了半天劲的错误
unresolved external symbol
我的代码也很简单:
#include<stdio.h>#include<curl.h>#pragma comment(lib,"libcurl.lib")void main(){CURL* curl;CURLcode ret;//// 初始化libcurl库//curl = curl_easy_init();if( curl ){curl_easy_setopt( curl, CURLOPT_URL, "http://www.baidu.com" );ret = curl_easy_perform( curl );curl_easy_cleanup( curl );}else{printf( "initialize the lib error!\n" );return;}}
但是这个错误一直烦着我,怎么弄也不行,换了好几种方法使用静态链接库,都不行.
google了半个小时,发现有不少人都是出现这个问题
见:http://forums.devshed.com/c-programming-42/c-linking-problem-567669.html
这两个哥们还真是有想象力,唉不过他们想到的我也已经试过了,晕..
最后还是再他老家,找到了答案:
When building an application that uses the static libcurl library, you must add -DCURL_STATICLIB to your CFLAGS. Otherwise the linker will look for dynamic import symbols. If you get linker error like "unknown symbol __imp__curl_easy_init ..." you have linked against the wrong (static) library. If you want to use the libcurl.dll and import lib, you don't need any extra CFLAGS, but use one of the import libraries below
在这里:http://curl.haxx.se/docs/faq.html#Link_errors_when_building_libcur
所以我们这样来改
菜单-->project -->settings-->C++选项卡的General里面的Project Option里面加上-DCURL_STATICLIB (其实就相当于在Preprocessor definitions里面加上CURL_STATICLIB一样)
确定-->rebuild all
又出错了:
libcurl.lib(easy.obj) : error LNK2001: unresolved external symbol
libcurl.lib(telnet.obj) : error LNK2001: unresolved external symbol
libcurl.lib(easy.obj) : error LNK2001: unresolved external symbol
.....
这个一看就明白了马上加上:
#pragma comment ( lib, "ws2_32.lib" )
#pragma comment ( lib, "wldap32.lib" )
编译-->叮的一个美妙的声音想起了,哈哈,编译成功
- 在程序中使用libcurl的的静态链接库产生的未导出符号的错误(zt)
- 在程序中使用libcurl的的静态链接库产生的未导出符号的错误
- libcurl链接库未导出符号的错误
- 【VS开发】Caffelib中出现的问题:强制链接静态库所有符号(包括未被使用的)
- 静态链接libcurl的步骤
- 静态链接libcurl的步骤
- ASP.NET和ASP中使用OLEDB产生的错误:'0x80004005' 未指定的错误
- libcurl 使用的一个错误
- 工程链接静态库的时候,通过删除class来解决重复的符号的错误
- 工程链接静态库的时候,通过删除class来解决重复的符号的错误
- 动态链接库的静态导入导出
- libcurl库的使用
- libcurl库的使用
- libcurl库的使用
- libcurl库的使用
- libcurl库的使用
- libcurl库的使用
- vs2010 在静态库中使用 LNK2019: 无法解析的外部符号
- IOS 网络编程之BSD Socket
- 帝国cms7 列表模板直接加下载地址
- python编码规范(转自:http://blog.csdn.net/yefengnidie/article/details/6721781)
- 字符串转换成json对象的方法
- 【流媒體】live555—VS2010 下live555编译、使用及测试
- 在程序中使用libcurl的的静态链接库产生的未导出符号的错误
- listview,gridview 动态加载网络图片
- mysql笔记
- ubuntu下apt-get 命令参数大全
- mysql主从库
- Spinner
- Cocos2d-x 的CCObject与autorelease 之深入分析
- 本周推荐10款免费的网站模板设计
- iOS学习笔记20—获取当前APP版本