Lapisan bawah Apache RocketMQ 5.0 SDK untuk C++ didasarkan pada gRPC. Topik ini menjelaskan cara mengompilasi Apache RocketMQ SDK untuk C++ menggunakan kode sumber.
Sebelum Anda memulai
Untuk memastikan bahwa Apache RocketMQ SDK 5.0 untuk C++ memiliki matriks kompatibilitas yang sama dengan gRPC, lingkungan kompilasi harus memenuhi persyaratan berikut:
Gunakan C++ 11 atau versi lebih baru untuk kompilasi. Versi GCC yang sesuai adalah 4.8.5 atau lebih baru. Kami merekomendasikan penggunaan GCC 10.2 atau lebih baru.
Anda dapat mendefinisikan makro untuk mendukung C++ 17. Versi GCC yang sesuai adalah 7. Jalankan perintah
-std=c++17atau-std=gnu++17untuk mengaktifkan C++ 17.
CMake 3.13 atau lebih baru diperlukan.
OpenSSL 1.1.1 diperlukan.
Pilih versi sesuai kebutuhan bisnis Anda.
Prosedur
Instal gflags dan dependensi gRPC.
Kompilasi dan instal gflags.
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 # Saat menggunakan gflags, pastikan untuk memuat pustaka. cat >> ~/.bashrc << EOF export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:/usr/local/lib EOF source ~/.bashrcKompilasi dan instal gRPC. Kami merekomendasikan penggunaan gRPC 1.46.3. Versi gRPC yang lebih baru mungkin tidak kompatibel dengan Apache RocketMQ 5.0 SDK untuk C++.
export MY_INSTALL_DIR=$HOME/grpc mkdir -p $MY_INSTALL_DIR # Tambahkan folder bin lokal ke variabel path Anda, misalnya: export PATH="$MY_INSTALL_DIR/bin:$PATH" 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 \ ../.. make -j 32 make install popd
Bangun kode sumber. Apache RocketMQ SDK untuk C++ mendukung pembangunan kode sumber menggunakan CMake dan Bazel. Kami merekomendasikan penggunaan CMake. Dalam topik ini, Apache RocketMQ 5.0.2 SDK untuk C++ digunakan.
CMake (direkomendasikan)
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 .. makeBazel
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 //...Peroleh informasi sumber daya.
Buat sumber daya, termasuk instance, topik, dan grup konsumen, yang terlibat dalam kode SDK di konsol ApsaraMQ for RocketMQ terlebih dahulu. Untuk informasi lebih lanjut, lihat Langkah 2: Buat sumber daya.
Ubah parameter dalam kode contoh berdasarkan informasi sumber daya yang diperoleh di Langkah 3. Kemudian, kompilasi dan jalankan kode contoh.