All Products
Search
Document Center

ApsaraMQ for RocketMQ:Siapkan lingkungan SDK C++ (V1.x.x)

Last Updated:Mar 11, 2026

Siapkan ApsaraMQ for RocketMQ C++ SDK V1.x.x di Linux atau Windows agar Anda dapat mengompilasi dan menjalankan contoh yang disertakan untuk mengirim dan menerima pesan.

Penting
  • Kami menyarankan Anda menggunakan SDK RocketMQ 5.x terbaru. SDK ini sepenuhnya kompatibel dengan broker ApsaraMQ for RocketMQ 5.x serta menyediakan lebih banyak fungsi dan fitur yang ditingkatkan. Untuk informasi selengkapnya, lihat Panduan Versi.

  • Alibaba Cloud hanya memelihara SDK client RocketMQ 4.x, 3.x, dan TCP. Kami menyarankan Anda hanya menggunakannya untuk bisnis yang sudah ada.

Penting

SDK RocketMQ 5.x terbaru sepenuhnya kompatibel dengan broker ApsaraMQ for RocketMQ 5.x serta menawarkan lebih banyak fitur dan performa yang lebih baik. Untuk detailnya, lihat Catatan Rilis. SDK client RocketMQ 4.x, 3.x, dan TCP berada dalam mode maintenance. Gunakan hanya untuk beban kerja yang sudah ada.

Prasyarat

Sebelum memulai, pastikan Anda telah memiliki:

  • Instans Alibaba Cloud Elastic Compute Service (ECS) untuk men-deploy aplikasi Anda

  • Topik dan kelompok yang telah dibuat di Konsol ApsaraMQ for RocketMQ — tentukan tag pesan kustom dalam kode aplikasi Anda sesuai kebutuhan

Unduh SDK

C++ SDK V1.x.x mendukung Windows dan Linux dengan API yang terpadu. Di Linux, CentOS 6/RHEL 6 dan CentOS 7/RHEL 7 didukung. Untuk tautan unduhan, lihat Catatan Rilis.

Setelah Anda mengunduh dan mengekstrak paket tersebut, struktur direktori SDK adalah sebagai berikut:

aliyun-mq-linux-cpp-sdk/
├── demo/               # Hanya untuk Windows: proyek demo Visual Studio yang telah dikonfigurasi sebelumnya
├── example/            # Contoh pengiriman/penerimaan pesan biasa, terurut, dan satu arah
│                       # Di Linux, mencakup Makefile untuk mengompilasi contoh
├── include/            # File header yang diperlukan oleh aplikasi Anda
├── lib/
│   ├── lib-boost-share/
│   │   └── libonsclient4cpp.so    # Pustaka dinamis 64-bit (Linux)
│   ├── lib-boost-static/
│   │   └── libonsclient4cpp.a     # Pustaka statis 64-bit (Linux)
│   └── 64/                        # DLL 64-bit (Windows)
│       └── vc_redist.x64          # Runtime Visual C++ 2015 (diperlukan jika VS2015 tidak terinstal)
├── SDK_GUIDE.pdf       # Dokumentasi SDK dan FAQ
└── changelog           # Perbaikan bug dan fitur baru per rilis

Siapkan lingkungan Linux

Mulai 2 Desember 2016, SDK C++ Linux bergantung pada Boost 1.62.0 (boost_system, boost_thread, boost_chrono, dan boost_filesystem). Pustaka-pustaka ini mengurangi penggunaan resource CPU dan meningkatkan efisiensi operasi.

Tersedia dua strategi penghubungan (linking): statis dan dinamis. Pilih yang sesuai dengan proyek Anda.

Pustaka statis

Dalam pendekatan pustaka statis, pustaka Boost di-link ke dalam libonsclient4cpp.a. Saat mengompilasi, cukup link ke arsip tunggal ini.

Bangun dengan Make:

  1. Buka direktori SDK yang telah diekstrak:

       cd aliyun-mq-linux-cpp-sdk
  2. Buka file sumber contoh di example/ dan masukkan nama topik, ID kelompok, serta kredensial access key Anda.

  3. Bangun contoh dengan linking statis:

       cd example
       make static=1
Penting

Linking statis penuh memerlukan versi statis dari libstdc++ dan pthread di mesin Anda. Instalasi libstdc++ bawaan biasanya tidak menyertakan pustaka statis. Instal pustaka tersebut menggunakan yum atau apt-get sesuai kebutuhan.

Build statis penuh mungkin menghasilkan peringatan berikut:

warning: Using 'gethostbyaddr' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking

Pendekatan yang direkomendasikan — linking statis parsial:

Untuk menghindari masalah kompatibilitas glibc, lakukan linking statis hanya untuk onsclient4cpp dan lakukan linking dinamis untuk semua komponen lainnya:

g++ -ggdb -Wall -O3 -I../include \
    ../example/ProducerExampleForEx.cpp \
    -Wl,-static -lonsclient4cpp -L../lib/lib-boost-static/ \
    -Wl,-Bdynamic -lpthread -ldl -lrt \
    -o ../example/ProducerExampleForEx
Catatan

GCC 5.x memperkenalkan Dual ABI. Saat Anda mengompilasi dengan GCC 5.x atau versi yang lebih baru, tambahkan -D_GLIBCXX_USE_CXX11_ABI=0 ke perintah kompilasi.

Pustaka dinamis

Dalam pendekatan pustaka dinamis, SDK menyertakan libonsclient4cpp.so di lib/lib-boost-share/. Instal pustaka bersama Boost 1.62.0 secara terpisah dan hubungkan saat kompilasi.

  1. Unduh Boost 1.62.0.

  2. Ekstrak paket tersebut:

       tar --bzip2 -xf /path/to/boost_1_62_0.tar.bz2
  3. Bangun dan instal Boost:

       cd path/to/boost_1_62_0
       ./bootstrap.sh
       ./b2 link=shared runtime-link=shared
       ./b2 install
  4. Verifikasi bahwa pustaka bersama Boost berada di jalur pencarian linker dinamis: Jika perintah ini menghasilkan output, pustaka telah terinstal dengan benar.

       ldconfig -v | grep libboost
  5. Kompilasi dan jalankan aplikasi Anda:

       cd aliyun-mq-linux-cpp-sdk/example
    
       g++ -Wall -Wno-deprecated \
           -L ../lib/lib-boost-share/ -I ../include/ \
           ProducerExampleForEx.cpp \
           -lonsclient4cpp -lboost_system -lboost_thread \
           -lboost_chrono -lboost_filesystem -lpthread
    
       export LD_LIBRARY_PATH="../lib/lib-boost-share/"
       ./a.out

Siapkan lingkungan Windows

Visual Studio 2015

  1. Buat proyek baru di Visual Studio 2015. Project wizard Finish wizard

    Create a project

  2. Klik kanan proyek dan pilih Properties > Configuration Manager. Atur Active solution configuration ke release dan Active solution platform ke x64. Configuration Manager

    Set platform to x64

  3. Buka Properties > Configuration Properties > General. Atur Output Directory ke suatu path (selanjutnya disebut /A). Salin semua file dari direktori SDK lib/64/ ke /A.

    Set output directory

  4. Buka Properties > Configuration Properties > C/C++ > General. Atur Additional Include Directories ke suatu path (selanjutnya disebut /B). Salin file header dari direktori SDK include/ ke /B. Additional include directories

    Set include directory

  5. Buka Properties > Configuration Properties > Linker > General. Atur Additional Library Directories ke /A.

    Set library directory

  6. Buka Properties > Configuration Properties > Linker > Input. Tambahkan ONSClient4CPP.lib ke Additional Dependencies.

    Add ONSClient4CPP.lib

  7. Buka Properties > Configuration Properties > C/C++ > Preprocessor. Tambahkan WIN32 ke Preprocessor Definitions.

    Add WIN32 macro

Setelah menyelesaikan langkah-langkah ini, klik Build untuk mengompilasi proyek Anda. Salin file DLL ke direktori yang berisi executable Anda (atau ke direktori sistem) sebelum menjalankan program.

Lingkungan selain Visual Studio 2015

  1. Ikuti langkah-langkah konfigurasi yang sama seperti yang dijelaskan pada bagian "Visual Studio 2015" di atas.

  2. Instal vc_redist.x64 (runtime Visual C++ 2015) di mesin target.

Catatan

Untuk menghindari konfigurasi manual, gunakan proyek demo yang telah dikonfigurasi sebelumnya. Ekstrak paket SDK, buka proyek di direktori demo/ dengan Visual Studio 2015, lalu perbarui path file agar sesuai dengan pengaturan lokal Anda.

Demo projectDemo propertiesSet file paths

Lihat juga