当我尝试运行这个简单的程序时(https://zeromq.org/get-started/?language=cpp&library=zmqpp#)
#include <zmqpp/zmqpp.hpp>
#include <string>
#include <iostream>
#include <chrono>
#include <thread>
using namespace std;
int main(int argc, char *argv[]) {
const string endpoint = "tcp://*:5555";
// initialize the 0MQ context
zmqpp::context context;
// generate a pull socket
zmqpp::socket_type type = zmqpp::socket_type::reply;
zmqpp::socket socket (context, type);
// bind to the socket
socket.bind(endpoint);
while (1) {
// receive the message
zmqpp::message message;
// decompose the message
socket.receive(message);
string text;
message >> text;
//Do some 'work'
std::this_thread::sleep_for(std::chrono::seconds(1));
cout << "Received Hello" << endl;
socket.send("World");
}
}
我收到此错误:
master/pubSub/pub.cpp:3:10: fatal error: 'zmqpp/zmqpp.hpp' file not found
#include <zmqpp/zmqpp.hpp>
我也得到了这个:
Uncaught TypeError: Callback must be a function. Received undefined
fs.js:135
显然,这似乎是由于我没有正确安装 ZMQ 造成的。我尝试通过两种方式安装它:
失败的方法#1:
- 安装 Homebrew ( https://brew.sh/ )
- 然后在终端: brew install zmq
失败的方法#2
- 下载的 cppzmq zip 文件 ( https://github.com/zeromq/cppzmq )。解压这个名为 cppzmq-master 的文件
- 下载的 Cmake
- 在终端中安装 Cmake: brew install cmake
- 在终端中,将目录更改为 cppzmq-master
- mkdir 构建
- 光盘构建
- 制作..
- sudo make -j4 安装
不知道我哪里出错了;对此仍然很陌生,因此非常感谢您的反馈!
ZMQ 网站供参考:https ://zeromq.org/
来源