本文介绍使用C++ SDK v2.x.x及以上版本接入云消息队列 RocketMQ 版所需完成的准备工作、使用说明以及注意事项,以便后续使用C++ SDK收发消息。

使用前,请注意以下几点:

  • 本文仅针对C++ SDK v2.x.x及以上版本进行说明,若您需从当前使用的v1.x.x版本的SDK升级至v2.x.x及以上版本,请参见环境准备(v1.x.x)完成升级。
  • 代码里涉及到的Topic和Group ID,需要到控制台上创建。Message Tag可以完全由应用自定义,更多信息,请参见创建资源
  • 使用云消息队列 RocketMQ 版服务的应用程序需要部署在阿里云ECS上。

v2.x.x及以上版本的C++ SDK暂时仅支持Linux操作系统,系统版本包含CentOS 6(RHEL 6)和CentOS 7(RHEL 7)系列。C++ SDK的下载链接,请参见版本说明

下载完成后选择对应操作系统内核的版本进行解压,会有如下目录结构,各目录的说明如下:

  • demos/

    包含了普通消息发送、Oneway消息发送、顺序消息发送、普通消息消费、顺序消息消费等例子,还包含了CMakeList.txt用于demos的编译和管理。

  • include/

    包含您自己编写的程序需要的头文件。

  • lib/

    包含基于x86_64的动态库,分别为接口库(libonsclient4cpp.so)和内核库(librocketmq_client_core.so)。

  • changelog

    新版本发布解决的问题和引入的新特性列表。

Linux C++ SDK动态库方案

自2019年6月28日起,新版本的SDK将只提供动态库方案。云消息队列 RocketMQ 版的库文件在lib/目录下,需要业务方生成可执行文件时链接librocketmq_client_core.solibonsclient4cpp.so。由于demos引入了C++ 11的特性和使用CMake来管理,需要提前安装CMake 3.0以上版本和g++ 4.8及以上版本。

重要 由于GCC 5.x及以上版本引入了Dual ABI,编译链接时,请添加-D_GLIBCXX_USE_CXX11_ABI=0编译选项。

demos的使用方法如下:

# 下载的SDK解压后的路径。
cd aliyun-mq-linux-cpp-sdk 
# 进入demos目录,修改demos文件,填入自己在消息队列RocketMQ版控制台创建的Topic和Key等相关的信息。
cd demos 
# 检测依赖和生成编译脚本。
cmake  . 
# 执行编译操作。
make
# 到生成的可执行文件目录下运行程序。 
cd bin 

更多信息