Windows下编译SimpleAmqpClient

Windows下编译SimpleAmqpClient

一、前言

SimpleAmqpClient是一个易用的rabbitmq-c的c++包装。网上可找到的编译它的资料非常少,花了两天,费了些功夫讲其编译成功。记录以供参考。

我的OS:Win7旗舰版

我的编译环境:VS2010

二、准备

  1. boost-1.47.0 或者更新版
  2. librabbitmq-c 参考我上一盘文章
  3. cmake 2.8+ 用于编译CMake项目
  4. gtest 1.5+(可选,如需测试)
  5. Doxygen(可选,用于生产API文档)

三、编译

  1. 编译boost,参考http://archive.cnblogs.com/a/1979730/(建议使用--build-type=complete全编译,如果采用动态链接编译不会生成静态链接库文件,如libboost_chrono-vc100-mt-1_47.lib,编译SimpleAmqpClinet时会报链接错误:缺少libboost_chrono-vc100-mt-1_47.lib文件)。boost库文件命名规则参考http://blog.csdn.net/zzvnzz/article/details/7082263
  2. 安装cmake 2.8+
  3. 用CMake编译gtest 1.5+
  4. 安装Doxygen
  5. 编译SimpleAmqpClinet,CMake主要参数如下(gtest参数设置编译好的头文件和库文件目录):

四、SimpleAmqpClient

    1. 打开SimpleAmqpClient解决方案(位于F:\Users\zhulin\Downloads\RabbitMQ\SimpleAmqpClient\build)
    2. 在SimpleAmqpClient工程上右键Properties->Configration Properties->Linker->General->Additional Library Directories增加库文件路径路径F:\boost\boost_1_47_0\lib
    3. 全编译,此时会出现很多头文件错误,问题出在uint8_t、uint16_t、uint32_t等重定义,为避免该问题,在SimpleAmqpClient的每个.cpp文件开头加入头文件声明(amqp.h和amqp_framing.h之前)如:

#include <stdint.h>
#include <amqp.h>
#include <amqp_framing.h>

  1. 重新全编译,除test_api外全部编译成功。

dll位于F:\Users\zhulin\Downloads\RabbitMQ\SimpleAmqpClient\build\bin\Release,lib位于F:\Users\zhulin\Downloads\RabbitMQ\SimpleAmqpClient\build\lib\Release

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值