构建/编译时出现此错误:
C:\Ethe\main.cpp: In function 'int main()':
C:\Ethe\main.cpp:11:4: error: 'zmq' has not been declared
C:\Ethe\main.cpp:11:19: error: expected ';' before 'context'
C:\Ethe\main.cpp:12:4: error: 'zmq' has not been declared
C:\Ethe\main.cpp:12:18: error: expected ';' before 'socket'
C:\Ethe\main.cpp:14:4: error: 'zmq' has not been declared
main.cpp中:
#include <zmq.h>
#include <iostream>
#include <string>
int main()
{
std::string tip;
std::cout << "Enter Target IP: ";
std::cin >> tip;
zmq::context_t context (1);
zmq::socket_t socket (context, ZMQ_REQ);
std::cout << "Connecting to " << tip << std::endl;
zmq::socket.connect ("tcp://"+tip+":5555");
return 0;
}
任何人对我如何解决这个问题有任何想法?
答案 0 :(得分:6)
你需要添加#include <zmq.hpp>
这将包括libzmq的C ++ api。但是,在zmq版本2.x版本中它包含在安装中,现在在zmq-3.x.y版本中它不再随库一起提供,正如您可以从http://github.com/zeromq/zeromq3-x/raw/master/NEWS
C ++ api被排除在核心库之外,因为来自zeromq的策略越少。它仍可从以下网址下载:https://github.com/zeromq/cppzmq/blob/master/zmq.hpp
此标头围绕所有C结构编写并运行C API zeromq,因此整个C ++ API是单个标头文件。可从上面的链接下载。
答案 1 :(得分:0)
如果你自己写了zmq.h,它应该是"zmq.h"
。