感谢支持
我们一直在努力

RabbitMQ客户端C++安装详细记录

c客户端环境安装
1. 下载 rabbitmq-c 源码包
http://hg.rabbitmq.com/rabbitmq-c/
2. 下载 rabbitmq-codegen 源码包 http://hg.rabbitmq.com/rabbitmq-codegen/
3. 将rabbitmq-codegen拷贝到rabbitmq-c的目录下,改名为codegen
4. macro `AM_PROG_LIBTOOL’ not found in library 解决方案
 产生这个报错的原因有两种,一种是没有安装libtool,一种是安装了libtool但是aclocal和libtool未安装在同一文件夹下。
5. 执行 autoreconf -i
6. 安装Python的json包或simplejson包
7. 修改configure文件,屏蔽python检查部分,大约在20174-20198行。里面有语法错误。这个主要是检查第三步的那两个python包有没有安装,如下注释掉即可。

[python]


  1. #checkPython python   

  2. #checkPython python2.6   

  3. #checkPython python2.5   

  4. #if test “$found_python” = “no”   

  5. #then   

  6. #  { { echo “$as_me:$LINENO: error: could not find a python that can ‘import simplejson'” >&5   

  7. #echo “$as_me: error: could not find a python that can ‘import simplejson'” >&2;}   

  8. #   { (exit 1); exit 1; }; }   

  9. #fi   

8. 执行./configure
有的电脑会出现如下错误:

[html]


  1. Cannot find install-sh, install.sh, or shtool in ac-aux 

解决方法:

[python]


  1. $ libtoolize –force  

  2. $ aclocal  

  3. $ autoheader  

  4. $ automake –force-missing –add-missing  

  5. $ autoconf  

  6. $ ./configure  

  7.   
9. 进入librabbitmq目录,修改Makefile, www.linuxidc.com 将PYTHON变量的内容改成自己用的版本,原来的是空,大约在150行

[html]


  1. PYTHON = python2.6 

10. make, make check, make install


11.安装成功后,查看readme里面的内容,有可执行的例子:

[python]


  1. ./examples/amqp_listen localhost 5672 amq.direct test  

amqp_listen为监听程序


localhost : rabbitmq服务host            5672 : 服务开放端口


[python]


  1. ./examples/amqp_sendstring localhost 5672 amq.direct test “hello world”  

amqp_sendstring为发送程序


c++客户端
1. 必须先安装c客户端环境
2. 下载源码包
https://github.com/akalend/amqpcpp
3. 按README执行即可
4. 原版本编译后是.a文件,如果要改成.so文件需要自己修改makefile,步骤如下
    a. 修改CFLAGS变量, 增加-fPIC -shared参数
    b.LIBFILE  = lib$(LIBNAME).so
    c. 修改$(LIBFILE)的编译语句, 屏蔽原来的 $(AR) 命令, 改成 $(CXX) $(CPPFLAGS) -o $@ $(OBJECTS)

[python]


  1. $(LIBFILE): $(OBJECTS)  

  2. #       $(AR) rcs $@ $(OBJECTS)   

  3.         $(CXX) $(CPPFLAGS) -o $@ $(OBJECTS) 

5.make
6.copy the libamqpcpp.a to /usr/local/lib or other system library dir.
  copy the libamqpcpp.so to /usr/local/lib or other system library dir.
7.export LD_LIBRARY_PATH=”:/usr/local/lib”

赞(0) 打赏
转载请注明出处:服务器评测 » RabbitMQ客户端C++安装详细记录
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏