Poco vs2010编译正常,vs2015编译报错"无法解析的外部符号"

错误如下:

1>------ 已启动生成: 项目: Net, 配置: debug_shared Win32 ------
1>DNS.obj : warning LNK4075: 忽略“/EDITANDCONTINUE”(由于“/SAFESEH”规范)
1>  正在创建库 ..\lib\PocoNetd.lib 和对象 ..\lib\PocoNetd.exp
1>HTTPDigestCredentials.obj : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: class std::_Vector_const_iterator<class std::_Vector_val<struct std::_Simple_types<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > > > > __thiscall Poco::StringTokenizer::begin(void)const " (__imp_?begin@StringTokenizer@Poco@@QBE?AV?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@@std@@XZ),该符号在函数 "private: void __thiscall Poco::Net::HTTPDigestCredentials::createAuthParams(class Poco::Net::HTTPRequest const &,class Poco::Net::HTTPAuthenticationParams const &)" (?createAuthParams@HTTPDigestCredentials@Net@Poco@@AAEXABVHTTPRequest@23@ABVHTTPAuthenticationParams@23@@Z) 中被引用
1>HTTPDigestCredentials.obj : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: class std::_Vector_const_iterator<class std::_Vector_val<struct std::_Simple_types<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > > > > __thiscall Poco::StringTokenizer::end(void)const " (__imp_?end@StringTokenizer@Poco@@QBE?AV?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@@std@@XZ),该符号在函数 "private: void __thiscall Poco::Net::HTTPDigestCredentials::createAuthParams(class Poco::Net::HTTPRequest const &,class Poco::Net::HTTPAuthenticationParams const &)" (?createAuthParams@HTTPDigestCredentials@Net@Poco@@AAEXABVHTTPRequest@23@ABVHTTPAuthenticationParams@23@@Z) 中被引用
1>..\bin\PocoNetd.dll : fatal error LNK1120: 2 个无法解析的外部命令
1>已完成生成项目“Net_vs100.vcxproj”的操作 - 失败。
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0==========

报错原因:
由于该Poco版本较老,为1.4.6p2,在这个版本中,最高编译器支持为vs2012:
image.png
由于新编译器中存在C++ 11等因素,所以,直接升级编译器,是可能会出现错误的,而且该错误要修复需要解决代码及环境配置部分,相当复杂。
解决方案:
最直接也是最简单的解决办法就是,升级Poco版本,如poco-1.9.0:该版本已经支持到vs2017
image.png

转载于:https://www.cnblogs.com/SunkingYang/p/11049093.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值