error LNK2001: 无法解析的外部符号 _curl_easy_init

作者: admin 分类: 开发问题 发布时间: 2013-08-16 14:42 ė4,986 浏览数 6没有评论
文章转自王牌软件
站长推荐:NSetup一键部署软件
一键式完成美化安装包制作,自动增量升级,数据统计,数字签名。应对各种复杂场景,脚本模块化拆分,常规复杂的脚本代码,图形化设置。无需专业的研发经验,轻松完成项目部署。(www.nsetup.cn)

最近用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!!!



只回答业务咨询点击这里给我发消息 点击这里给我发消息

王牌软件,兼职软件设计,软件修改,毕业设计。

本文出自 王牌软件,转载时请注明出处及相应链接。

本文永久链接: http://www.softwareace.cn/?p=526

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">


Ɣ回顶部

无觅相关文章插件,快速提升流量