すべてのプロダクト
Search
ドキュメントセンター

ApsaraMQ for RocketMQ:C++ SDK ビルド環境のセットアップ

最終更新日:Mar 11, 2026

Apache RocketMQ 5.0 SDK for C++ は gRPC 上に構築されており、ソースからコンパイルする必要があります。このガイドでは、依存関係のインストール、gRPC のビルド、SDK のコンパイルについて説明し、ApsaraMQ for RocketMQ を使用してメッセージの送受信を開始できるようにします。

前提条件

開始する前に、次のツールとライブラリをインストールしてください。各コンポーネントには、公式のインストールガイドへのリンクが記載されています。

コンポーネント必須バージョン目的
GCC4.8.5+ (10.2+ を推奨)C++11 が必須です。C++17 の場合は、GCC 7+ と -std=c++17 または -std=gnu++17 を使用してください。
CMake3.13+SDK と gRPC のビルドシステム
OpenSSL1.1.1gRPC で必要な TLS/SSL ライブラリ
protobuf互換性のある任意のバージョンプロトコルバッファのシリアル化ライブラリ

この SDK は、gRPC と同じコンパイラの互換性マトリックスを共有しています。

ステップ 1: gflags のインストール

gflags 2.2.2 をダウンロード、コンパイル、インストールします。

wget -O gflags-2.2.2.tar.gz https://github.com/gflags/gflags/archive/v2.2.2.tar.gz
tar -xvzf gflags-2.2.2.tar.gz
cd gflags-2.2.2/
mkdir build && cd build
cmake -DBUILD_SHARED_LIBS=ON -DBUILD_STATIC_LIBS=ON -DINSTALL_HEADERS=ON -DINSTALL_SHARED_LIBS=ON -DINSTALL_STATIC_LIBS=ON ..
make
make install
cd

リンカーがランタイムに gflags を見つけられるように、ライブラリパスを追加します。

cat >> ~/.bashrc << EOF
export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:/usr/local/lib
EOF
source ~/.bashrc

ステップ 2: gRPC のビルドとインストール

gRPC 1.46.3 を使用してください。これ以降のバージョンは、Apache RocketMQ 5.0 SDK for C++ と互換性がない可能性があります。

インストールディレクトリを設定し、PATH を更新します。

export MY_INSTALL_DIR=$HOME/grpc
mkdir -p $MY_INSTALL_DIR
export PATH="$MY_INSTALL_DIR/bin:$PATH"

gRPC をクローンしてビルドします。

git clone --recurse-submodules \
    -b v1.46.3 --depth 1 --shallow-submodules \
    https://github.com/grpc/grpc

cd grpc
mkdir -p cmake/build
pushd cmake/build
cmake -DgRPC_INSTALL=ON \
    -DgRPC_BUILD_TESTS=OFF \
    -DCMAKE_INSTALL_PREFIX=$MY_INSTALL_DIR \
      ../..

# Adjust -j based on available CPU cores.
make -j 32
make install
popd
ヒント: -j 32 フラグは 32 個の並列コンパイルジョブを実行します。CPU コア数が少ない、またはメモリが限られているマシンでは、この数値を減らしてください。例えば、4 コアのマシンでは -j 4 を使用します。

ステップ 3: ソースからの SDK のコンパイル

この SDK は、CMake (推奨) と Bazel の 2 つのビルドシステムをサポートしています。

オプション A: CMake を使用したビルド (推奨)

wget -O rocketmq-clients-cpp-5.0.3.tar.gz https://github.com/apache/rocketmq-clients/archive/refs/tags/cpp-5.0.3.tar.gz
tar -xvzf rocketmq-clients-cpp-5.0.3.tar.gz
cd rocketmq-clients-cpp-5.0.3/cpp
mkdir build && cd build
cmake ..
make

オプション B: Bazel を使用したビルド

wget -O rocketmq-clients-cpp-5.0.3.tar.gz https://github.com/apache/rocketmq-clients/archive/refs/tags/cpp-5.0.3.tar.gz
tar -xvzf rocketmq-clients-cpp-5.0.3.tar.gz
cd rocketmq-clients-cpp-5.0.3/cpp
bazel build //...

ステップ 4: 必要なリソースの作成

サンプルコードを実行する前に、次のリソースを ApsaraMQ for RocketMQ コンソール で作成してください。

  • インスタンス: RocketMQ サービスインスタンス

  • トピック: メッセージの送信先

  • コンシューマーグループ: コンシューマーの論理的なグループ

詳細な手順については、「リソースの作成」をご参照ください。

ステップ 5: サンプルコードの実行

リソースを作成した後、ステップ 4 で取得したリソース情報に基づいてサンプルコード内のパラメーターを更新し、サンプルをコンパイルして実行します。