vs2015 BOOST_1.61编译log 时init_self_module_handle等bug解决

1、编译输出bug如下:

1>libboost_log_setup-vc140-mt-gd-1_61.lib(matches_relation_factory.obj) : error LNK2019: 无法解析的外部符号 "private: class boost::basic_regex<char,struct boost::regex_traits<char,class boost::w32_regex_traits<char> > > & __thiscall boost::basic_regex<char,struct boost::regex_traits<char,class boost::w32_regex_traits<char> > >::do_assign(char const *,char const *,unsigned int)" (?do_assign@?$basic_regex@DU?$regex_traits@DV?$w32_regex_traits@D@boost@@@boost@@@boost@@AAEAAV12@PBD0I@Z),该符号在函数 "public: class boost::basic_regex<char,struct boost::regex_traits<char,class boost::w32_regex_traits<char> > > & __thiscall boost::basic_regex<char,struct boost::regex_traits<char,class boost::w32_regex_traits<char> > >::assign(char const *,char const *,unsigned int)" (?assign@?$basic_regex@DU?$regex_traits@DV?$w32_regex_traits@D@boost@@@boost@@@boost@@QAEAAV12@PBD0I@Z) 中被引用

解决:

添加#include <boost/regex.hpp>即可。

2、编译输出bug如下:

1>libboost_log-vc140-mt-gd-1_61.lib(event_log_backend.obj) : error LNK2019: 无法解析的外部符号 _EnumProcessModules@16,该符号在函数 "void __cdecl boost::log::v2s_mt_nt6::sinks::`anonymous namespace'::init_self_module_handle(struct HINSTANCE__ * &)" (?init_self_module_handle@?A0x93af6d04@sinks@v2s_mt_nt6@log@boost@@YAXAAPAUHINSTANCE__@@@Z) 中被引用

1>libboost_log-vc140-mt-gd-1_61.lib(event_log_backend.obj) : error LNK2019: 无法解析的外部符号 _GetModuleInformation@16,该符号在函数 "void __cdecl boost::log::v2s_mt_nt6::sinks::`anonymous namespace'::init_self_module_handle(struct HINSTANCE__ * &)" (?init_self_module_handle@?A0x93af6d04@sinks@v2s_mt_nt6@log@boost@@YAXAAPAUHINSTANCE__@@@Z) 中被引用


解决:

网上查均无结果,摸索定位bug为boost::log::init_from_stream导致,查看源码发现使用了#include <psapi.h>头文件,故在编译环境中添加psapi.lib库,编译后正常

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值