coost icon indicating copy to clipboard operation
coost copied to clipboard

不能和ZeroMQ库同时使用

Open Z-eddy opened this issue 2 years ago • 1 comments

测试环境: 平台:win10 ide:vs2022 ZeroMQ版本:4.3.4(当前最新版) coost版本:v3.0.0/master

测试问题: 1、头文件必须如下顺序定义: #include "co/all.h" #include "zmq.hpp" 如果颠倒位置则报错: co\byte_order.h(37): error C3861: “htonll”: 找不到标识符

2、遵守第一点时通过编译,运行时会报错 测试代码: ` #include

#include "co/all.h" #include "zmq.hpp"

int main(int argc, char **argv) { co::WaitGroup w{}; w.add(1);

go([&] { std::string request{"hello"};

zmq::context_t context(1);
// 初始化socket,这行加入就会报错
zmq::socket_t socket(context, zmq::socket_type::req);
socket.connect("tcp://127.0.0.1:5555");
w.done();

});

w.wait();

return 0; }

` 报错如下: image

Z-eddy avatar May 09 '23 01:05 Z-eddy

1、头文件必须如下顺序定义: #include "co/all.h" #include "zmq.hpp" 如果颠倒位置则报错: co\byte_order.h(37): error C3861: “htonll”: 找不到标识符

这个可能是 winsock 版本冲突,先 include coost 头文件,使用 winsock2 应该能解决冲突。

第2个问题需要提供进一步的信息,使用 master 最新代码试试

idealvin avatar May 09 '23 12:05 idealvin