彬彬博客园

大王叫我来巡山......

博客园 首页 新随笔 联系 订阅 管理
 一、windows下编译rabbitmq-c

 

系统环境:windows10 

编译环境:vs2015

cmake3.4.1

1.下载和安装

下载rabbitmq-c最新代码包:https://github.com/alanxz/rabbitmq-c/releases/tag/v0.8.0

下载cmake最新安装包:https://cmake.org/download/

2.使用cmake编译生成适合自己编译环境的工程

第一步:填写源代码路径

第二步:填写建立后的路径,build的文件夹一般建立在源代码路径里,也可以放在其他位置

第三步:点击配置按钮,在配置里面选择属于自己编译环境的名字

第四步:点击生成按钮,不出现运行失败就说明已经编译成功了

特别说明:在编译rabbitmq-c是如果出现如图的错误,可以去掉ENABLE_SSL_SUPPORT括号里的对勾。 

 

 

 

 

生成了VS2015的工程文件后,先编译,然后install到你选定的路径,我的安装目录是:D:\rabbitmq-c

 

 

 

二、Windows下编译SimpleAmqpClient

1、编译boost

因为需要用到boost库,所以在编译SimpleAmqpClient之前,先要编译boost库。

https://www.cnblogs.com/oloroso/p/6050596.html

下载Boost库的源码,我下的是1.66版的。

通过VS2015native tools来编译Boost库。

命令如下:

#编译

b2.exe --prefix=d:\boost_1_66_0 --build-type=complete--build-dir=build toolset=msvc-14.0 address-model=64 stage  –j4

#安装

b2.exe --prefix=d:\boost_1_66_0 --build-type=complete--build-dir=build toolset=msvc-14.0 address-model=64 install

编译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、编译SimpleAmqpClient

我没有选择支持SSL,所以编译出现一个错误,Channel.cpp(194): error C2511:'AmqpClient::Channel::Channel(const std::string &,int,const std::string&,const std::string &,const std::string &,int,const std::string&,const std::string &,const std::string &)': overloaded memberfunction not found in 'AmqpClient::Channel'.

我修改了一下这个构造函数,如下:

采用CMAKE生成VS2015工程。CMAKE配置如下图:

 

3、使用样例:

http://blog.csdn.net/csm201314/article/details/76377214

posted on 2018-02-12 10:01  彬彬在线  阅读(3159)  评论(0编辑  收藏  举报