windows下怎么使用zeromq

来源:互联网 发布:淘宝店铺首页下拉菜单 编辑:程序博客网 时间:2024/05/03 01:16
我在zeromq的官网下载了exe的安装文件,想用c++进行学习,我看到网上的例子都是直接 #include<zmq.h>,但是我安装完成后,新建一个c++的工程,自己调用 #include <zmq.h>但是却出现错误,提示没有找到这个zmq.h文件。
我也试了zmq官网给出的例子,想直接编译也出现相同的问题(提示没有找到这个zmq.h文件。)

现在zmq的文章好像不多,安装的更没多少,希望会zmq的哥们能解答下我的问题,谢谢!


我也遇到这个问题,是你没把库路径引入进去。我用VS2010
解决方案:右键单击【属性】-【配置属性】-【VC++目录】-【包含目录】。把你的zeromq源码中zmq.h所在录井引入进去。就OK了
D:\ZMQ\zeromq-3.2.3\include(其中包含必要的zmq.h)


我的问题是这样:
1. zmq安装在c:\Program Files\ZeroMQ 3.2.3\
2. Visual Studio 2010配置如下:
1)Project > Property > C/C++ > General > Additional Include Dictionaries 
添加:C:\Program Files\ZeroMQ 3.2.3\include
2)Project > Property > Linker > General > Additional Library Dictionaries 
添加:C:\Program Files\ZeroMQ 3.2.3\lib
3)2)Project > Property > Linker > Input > Additional Dependencies
添加:c:\Program Files\ZeroMQ 3.2.3\lib\libzmq-v100-mt-gd-3_2_3.lib

但是在编译如下代码时,总是提示:
Error 1 error C2653: 'zmq' : is not a class or namespace name
不知道是什么原因,还请看到的大侠赐教!

代码如下:

C/C++ code
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
//
// Hello World server in C++
// Binds REP socket to tcp://*:5555
// Expects "Hello" from client, replies with "World"
//
#include <zmq.h>
#include <string>
#include <iostream>
 
int main () {
    // Prepare our context and socket
    zmq::context_t context (1);
    zmq::socket_t socket (context, ZMQ_REP);
    socket.bind ("tcp://*:5555");
    while (true) {
        zmq::message_t request;
        // Wait for next request from client
        socket.recv (&request);
        std::cout << "Received Hello" << std::endl;
        // Do some 'work'
        Sleep (1);
        // Send reply back to client
        zmq::message_t reply (5);
        memcpy ((void *) reply.data (), "World", 5);
        socket.send (reply);
    }
    return 0;
}
zmq.h本身并没有定义zmq命名空间,  zmq 命名空间定义是在 zmq.hpp 里面打包提供的,  
3.0以后 zmq.hpp 已经分拆到另外项目(zmq c++绑定)
到这里: 
https://github.com/zeromq/cppzmq

下载 zmq.hpp 然后引用就行了3)2)Project > Property > Linker > Input > Additional Dependencies
添加:c:\Program Files\ZeroMQ 3.2.3\lib\libzmq-v100-mt-3_2_3.lib

好像这样改一下就好了。

0 0
原创粉丝点击