Open Z-eddy opened 1 year ago
测试环境: 平台:win10 ide:vs2022 ZeroMQ版本:4.3.4(当前最新版) coost版本:v3.0.0/master
测试问题: 1、头文件必须如下顺序定义: `
` 如果颠倒位置则报错: co\byte_order.h(37): error C3861: “htonll”: 找不到标识符
2、遵守第一点时通过编译,运行时会报错 测试代码: `
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; }
` 报错如下:
1、头文件必须如下顺序定义: include "co/all.h" #include "zmq.hpp" 如果颠倒位置则报错: co\byte_order.h(37): error C3861: “htonll”: 找不到标识符
1、头文件必须如下顺序定义:
如果颠倒位置则报错: co\byte_order.h(37): error C3861: “htonll”: 找不到标识符
这个可能是 winsock 版本冲突,先 include coost 头文件,使用 winsock2 应该能解决冲突。
第2个问题需要提供进一步的信息,使用 master 最新代码试试
测试环境: 平台: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"};
});
w.wait();
return 0; }
` 报错如下: