qicosmos / rest_rpc

modern C++(C++11), simple, easy to use rpc framework
MIT License
1.66k stars 365 forks source link

编译时msgpack报大量错误 #14

Closed LeoYang-Chuese closed 3 years ago

LeoYang-Chuese commented 3 years ago

C++新手,rest_rpc适用于windows么?

配置了第三方 (non-Boost) Asio、msgpack附加包含,编译时(Visual Studio 2019 (v142)、Debug、Win32)msgpack报大量错误,是配置原因么,毫无头绪,请各位大大指教。 错误信息下载

qicosmos commented 3 years ago

先把example里面的例子运行起来。

LeoYang-Chuese commented 3 years ago

先把example里面的例子运行起来。

example编译运行成功。但我的示例是MFC工程,msgpack似乎在"MFC shared dll"下无法编译通过,这里有一些讨论,我不确定是不是这个原因。

qicosmos commented 3 years ago

msgpack应该是没问题的,建议你单独用mfc工程测试一下msgpack

LeoYang-Chuese commented 3 years ago

msgpack应该是没问题的,建议你单独用mfc工程测试一下msgpack

谢谢,我重新建的MFC工程rest_rpc终于运行起来了,应该和我原工程配置环境有关吧,原因未知。

asing325 commented 3 years ago

vs2017, msgpack 用最新的 V3版本,编译错误 \codec.h(38): error C2665: “msgpack::v3::unpack”: 12 个重载中没有一个可以转换所有参数类型

修改 好了, 增加v1:: struct msgpack_codec { ... template T unpack(char const* data, sizet length) { try { msgpack::v1::unpack(&msg, data, length); return msg_.get().as(); } catch (...) { throw std::invalid_argument("unpack failed: Args not match!"); } }

private: msgpack::v1::unpacked msg_; };