-
Notifications
You must be signed in to change notification settings - Fork 106
Open
Labels
Description
I am trying to use the autobahn-cpp library in a Visual Studio 2015 project. After including both msgpack-c and autobahn-cpp, I get the following compiler error. I have already enabled the preprocessor flags MSGPACK_DISABLE_LEGACY_NIL
and MSGPACK_DISABLE_LEGACY_CONVERT
, as suggested in the msgpack-c readme for header-only mode. I'd appreciate any hints!
1>------ Build started: Project: X, Configuration: Debug x64 ------
1> X.cpp
1>d:\autobahn-cpp\autobahn\wamp_call_options.ipp(66): error C2593: 'operator >>' is ambiguous
1> d:\msgpack-c\include\msgpack\v2\adaptor\adaptor_base.hpp(48): note: could be 'const msgpack::v1::object &msgpack::v2::operator >><std::unordered_map<std::string,msgpack::v1::object,std::hash<_Kty>,std::equal_to<_Kty>,std::allocator<std::pair<const _Kty,_Ty>>>>(const msgpack::v1::object &,T &)'
1> with
1> [
1> _Kty=std::string,
1> _Ty=msgpack::v1::object,
1> T=std::unordered_map<std::string,msgpack::v1::object,std::hash<std::string>,std::equal_to<std::string>,std::allocator<std::pair<const std::string,msgpack::v1::object>>>
1> ]
1> d:\msgpack-c\include\msgpack\v1\adaptor\adaptor_base.hpp(53): note: or 'const msgpack::v1::object &msgpack::v1::operator >><std::unordered_map<std::string,msgpack::v1::object,std::hash<_Kty>,std::equal_to<_Kty>,std::allocator<std::pair<const _Kty,_Ty>>>>(const msgpack::v1::object &,T &)'
1> with
1> [
1> _Kty=std::string,
1> _Ty=msgpack::v1::object,
1> T=std::unordered_map<std::string,msgpack::v1::object,std::hash<std::string>,std::equal_to<std::string>,std::allocator<std::pair<const std::string,msgpack::v1::object>>>
1> ]
1> d:\autobahn-cpp\autobahn\wamp_call_options.ipp(66): note: while trying to match the argument list '(const msgpack::v1::object, std::unordered_map<std::string,msgpack::v1::object,std::hash<_Kty>,std::equal_to<_Kty>,std::allocator<std::pair<const _Kty,_Ty>>>)'
1> with
1> [
1> _Kty=std::string,
1> _Ty=msgpack::v1::object
1> ]
1>d:\autobahn-cpp\autobahn\wamp_call_options.ipp(111): error C2593: 'operator <<' is ambiguous
1> d:\msgpack-c\include\msgpack\v1\object.hpp(611): note: could be 'void msgpack::v1::operator <<(msgpack::v1::object &,const msgpack_object &)' [found using argument-dependent lookup]
1> d:\msgpack-c\include\msgpack\v1\object.hpp(721): note: or 'std::ostream &msgpack::v1::operator <<(std::ostream &,const msgpack::v1::object &)' [found using argument-dependent lookup]
1> d:\msgpack-c\include\msgpack\v2\adaptor\adaptor_base.hpp(66): note: or 'void msgpack::v2::operator <<<std::unordered_map<std::string,msgpack::v1::object,std::hash<_Kty>,std::equal_to<_Kty>,std::allocator<std::pair<const _Kty,_Ty>>>>(msgpack::v1::object::with_zone &,const T &)'
1> with
1> [
1> _Kty=std::string,
1> _Ty=msgpack::v1::object,
1> T=std::unordered_map<std::string,msgpack::v1::object,std::hash<std::string>,std::equal_to<std::string>,std::allocator<std::pair<const std::string,msgpack::v1::object>>>
1> ]
1> d:\msgpack-c\include\msgpack\v2\adaptor\adaptor_base.hpp(60): note: or 'void msgpack::v2::operator <<<std::unordered_map<std::string,msgpack::v1::object,std::hash<_Kty>,std::equal_to<_Kty>,std::allocator<std::pair<const _Kty,_Ty>>>>(msgpack::v1::object &,const T &)'
1> with
1> [
1> _Kty=std::string,
1> _Ty=msgpack::v1::object,
1> T=std::unordered_map<std::string,msgpack::v1::object,std::hash<std::string>,std::equal_to<std::string>,std::allocator<std::pair<const std::string,msgpack::v1::object>>>
1> ]
1> d:\msgpack-c\include\msgpack\v1\adaptor\adaptor_base.hpp(65): note: or 'void msgpack::v1::operator <<<std::unordered_map<std::string,msgpack::v1::object,std::hash<_Kty>,std::equal_to<_Kty>,std::allocator<std::pair<const _Kty,_Ty>>>>(msgpack::v1::object &,const T &)'
1> with
1> [
1> _Kty=std::string,
1> _Ty=msgpack::v1::object,
1> T=std::unordered_map<std::string,msgpack::v1::object,std::hash<std::string>,std::equal_to<std::string>,std::allocator<std::pair<const std::string,msgpack::v1::object>>>
1> ]
1> d:\msgpack-c\include\msgpack\v1\adaptor\adaptor_base.hpp(71): note: or 'void msgpack::v1::operator <<<std::unordered_map<std::string,msgpack::v1::object,std::hash<_Kty>,std::equal_to<_Kty>,std::allocator<std::pair<const _Kty,_Ty>>>>(msgpack::v1::object::with_zone &,const T &)'
1> with
1> [
1> _Kty=std::string,
1> _Ty=msgpack::v1::object,
1> T=std::unordered_map<std::string,msgpack::v1::object,std::hash<std::string>,std::equal_to<std::string>,std::allocator<std::pair<const std::string,msgpack::v1::object>>>
1> ]
1> d:\autobahn-cpp\autobahn\wamp_call_options.ipp(111): note: while trying to match the argument list '(msgpack::v1::object::with_zone, std::unordered_map<std::string,msgpack::v1::object,std::hash<_Kty>,std::equal_to<_Kty>,std::allocator<std::pair<const _Kty,_Ty>>>)'
1> with
1> [
1> _Kty=std::string,
1> _Ty=msgpack::v1::object
1> ]
1>d:\autobahn-cpp\autobahn\wamp_subscribe_options.ipp(126): error C2593: 'operator <<' is ambiguous
1> d:\msgpack-c\include\msgpack\v1\object.hpp(611): note: could be 'void msgpack::v1::operator <<(msgpack::v1::object &,const msgpack_object &)' [found using argument-dependent lookup]
1> d:\msgpack-c\include\msgpack\v1\object.hpp(721): note: or 'std::ostream &msgpack::v1::operator <<(std::ostream &,const msgpack::v1::object &)' [found using argument-dependent lookup]
1> d:\msgpack-c\include\msgpack\v2\adaptor\adaptor_base.hpp(66): note: or 'void msgpack::v2::operator <<<std::map<std::string,std::string,std::less<_Kty>,std::allocator<std::pair<const _Kty,_Ty>>>>(msgpack::v1::object::with_zone &,const T &)'
1> with
1> [
1> _Kty=std::string,
1> _Ty=std::string,
1> T=std::map<std::string,std::string,std::less<std::string>,std::allocator<std::pair<const std::string,std::string>>>
1> ]
1> d:\msgpack-c\include\msgpack\v2\adaptor\adaptor_base.hpp(60): note: or 'void msgpack::v2::operator <<<std::map<std::string,std::string,std::less<_Kty>,std::allocator<std::pair<const _Kty,_Ty>>>>(msgpack::v1::object &,const T &)'
1> with
1> [
1> _Kty=std::string,
1> _Ty=std::string,
1> T=std::map<std::string,std::string,std::less<std::string>,std::allocator<std::pair<const std::string,std::string>>>
1> ]
1> d:\msgpack-c\include\msgpack\v1\adaptor\adaptor_base.hpp(65): note: or 'void msgpack::v1::operator <<<std::map<std::string,std::string,std::less<_Kty>,std::allocator<std::pair<const _Kty,_Ty>>>>(msgpack::v1::object &,const T &)'
1> with
1> [
1> _Kty=std::string,
1> _Ty=std::string,
1> T=std::map<std::string,std::string,std::less<std::string>,std::allocator<std::pair<const std::string,std::string>>>
1> ]
1> d:\msgpack-c\include\msgpack\v1\adaptor\adaptor_base.hpp(71): note: or 'void msgpack::v1::operator <<<std::map<std::string,std::string,std::less<_Kty>,std::allocator<std::pair<const _Kty,_Ty>>>>(msgpack::v1::object::with_zone &,const T &)'
1> with
1> [
1> _Kty=std::string,
1> _Ty=std::string,
1> T=std::map<std::string,std::string,std::less<std::string>,std::allocator<std::pair<const std::string,std::string>>>
1> ]
1> d:\autobahn-cpp\autobahn\wamp_subscribe_options.ipp(126): note: while trying to match the argument list '(msgpack::v1::object::with_zone, std::map<std::string,std::string,std::less<_Kty>,std::allocator<std::pair<const _Kty,_Ty>>>)'
1> with
1> [
1> _Kty=std::string,
1> _Ty=std::string
1> ]
1>d:\autobahn-cpp\autobahn\wamp_auth_utils.hpp(84): warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data
1>d:\autobahn-cpp\autobahn\wamp_auth_utils.hpp(116): warning C4267: 'initializing': conversion from 'size_t' to 'int', possible loss of data
1>d:\autobahn-cpp\autobahn\wamp_auth_utils.hpp(119): warning C4267: 'initializing': conversion from 'size_t' to 'int', possible loss of data
1>d:\autobahn-cpp\autobahn\wamp_auth_utils.hpp(164): warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========