zmq的安装以及调试
来源:互联网 发布:大数据100g百度云 编辑:程序博客网 时间:2024/05/19 01:09
1.前提条件是保证以下工具libtool, pkg-config, build-essential, autoconf, automake已经安装。
2.其次是uuid-dev库安装
3.编译安装步骤如下
git clone https://github.com/zeromq/libzmq./autogen.sh && ./configure && make -j 4make check && make install && sudo ldconfig
Or, using CMake:
git clone https://github.com/zeromq/libzmqmkdir cmake-build && cd cmake-buildcmake .. && make -j 4make test && make install && sudo ldconfig
以上命令执行工程中,最好加上sudo,确保权限问题。
4.其中C++版本的<zmq.hpp>头文件需要重新从github下载,并放进自己的工程头文件目录下
5.链接库的问题:libzmq的安装是在/usr/local/lib目录下,但程序一般搜索库函数的路径是在/usr和/usr/lib目录下,所以需要重新链接libzmq的路径
按照网络很多教程所说,只需要sudo vim /etc/ld.so.conf,然后添加进/usr/local/lib即可,最后
sudo /sbin/ldconfig。我的情况是编译能通过,但程序执行的时候还是报错,提示找不到库函数,最后将所提示的库文件cp到/usr目录下和/usr/lib目录下,就OK了。-------其中原因暂时无解。
6.调试问题
(1)错误提示:terminate called after throwing an instance of 'zmq::error_t',最终发现在zmq接受节点中,缺少了setsockopt()函数,需要添加const char *filter = ""; setsockopt(ZMQ_SUBSCRIBE,filter,strlen(filter)),这是创建消息过滤标志,optional value为0,表示接受所有广播消息。一个非空的option_value值会只订阅所有以option_value的值为前缀的消息。
(2)将接受到的消息解析出来:
zmq::message_t subuwb;
subscriber.recv(&subuwb);
std::cout<<"recv data:"<<(const char *)subuwb.data()<<std::endl;
需要好好理解(const char *)subuwb.data()的由来,参考其头文件zmq.hpp中的函数声明
- zmq的安装以及调试
- php-zmq的安装
- Ubuntu中安装ZMQ以及pyzmq
- PHP的ZMQ扩展zeromq源码安装
- zmq以及c/cpp for zmq
- 【消息队列】ZMQ安装
- Node安装zmq
- czmq(zmq)安装
- zmq安装与使用
- linux下安装zmq
- 关于codeblocks的安装以及调试
- ZMQ的初步学习
- php下zmq扩展安装
- ZMQ
- ZMQ
- ZMQ
- sass安装以及安装后谷歌调试编译的解决方案
- JOS的工具的安装以及源代码的调试
- 刷题(一)
- epoll和select区别
- __cplusplus,extern "C"的作用
- 基于邻接链表和邻接矩阵实现图的各种常用函数C++
- BZOJ 1626 & luogu 2872 [USACO07DEC]道路建设Building Roads Kruskal
- zmq的安装以及调试
- 冒泡排序
- 数据结构---完全二叉树
- SpringMVC获取表单批量提交数据
- Django初识
- 三 树莓派开启samba服务
- jQuery源码总结
- 快排
- 67. Add Binary