Tous les produits
Search
Centre de documentation

ApsaraMQ for RocketMQ:Préparer l'environnement (v1.x.x)

Dernière mise à jour :Aug 09, 2026

Cette rubrique présente les préparatifs, les instructions et les notes relatives à l'utilisation du SDK C++ pour envoyer et recevoir des messages avec ApsaraMQ for RocketMQ.

Important
  • Nous vous recommandons d'utiliser les dernières versions des SDK RocketMQ 5.x. Ces SDK sont entièrement compatibles avec les brokers ApsaraMQ for RocketMQ 5.x et offrent davantage de fonctions ainsi que des fonctionnalités améliorées. Pour plus d'informations, consultez la page Informations sur la version du SDK C++.

  • Alibaba Cloud assure uniquement la maintenance des SDK client TCP pour RocketMQ 4.x et 3.x. Nous vous conseillons de les utiliser exclusivement pour les activités existantes.

Avant de commencer, tenez compte des points suivants :

  • Ce guide s'applique uniquement au SDK C++ v1.x.x.

  • Le topic et l'ID de groupe utilisés dans votre code doivent être créés dans la console. Vous pouvez personnaliser librement les tags de message dans votre application. Pour savoir comment créer ces ressources, consultez la page Créer des ressources.

  • Les applications qui utilisent ApsaraMQ for RocketMQ doivent être déployées sur des instances ECS.

Télécharger le SDK

L'API du SDK C++ est identique pour Windows et Linux. Les distributions Linux prises en charge incluent CentOS 6 (RHEL 6) et CentOS 7 (RHEL 7). Pour télécharger le SDK C++, consultez la page Notes de version du SDK client TCP pour C++.

Une fois le package téléchargé et extrait, vous obtenez la structure de répertoires suivante :

  • demo/ (Windows uniquement)

    Projet de démonstration C++ précompilé pour Windows.

  • example/

    Exemples d'envoi de messages normaux, unidirectionnels et ordonnés, ainsi que de consommation de messages normaux et ordonnés. Sous Linux, ce répertoire contient également un Makefile permettant de compiler et de gérer les fichiers example.

  • include/

    Fichiers d'en-tête requis pour votre application.

  • lib/

    • Les sous-répertoires du SDK Linux contiennent la bibliothèque statique et la bibliothèque dynamique 64 bits.

      lib-boost-share/
        libonsclient4cpp.so
      lib-boost-static/
        libonsclient4cpp.a                        
    • Le sous-répertoire du SDK Windows contient la DLL 64 bits. Si Visual Studio 2015 n'est pas installé, vous devez installer vc_redist.x64, l'environnement d'exécution pour Visual C++ 2015.

      64/
      vc_redist.x64                        
  • SDK_GUIDE.pdf

    Documentation et FAQ relatives à la configuration de l'environnement du SDK.

  • changelog

    Liste des corrections de bogues et des nouvelles fonctionnalités des versions récentes.

SDK C++ pour Linux

Depuis le 2 décembre 2016, le SDK C++ pour Linux dépend de la bibliothèque haute performance Boost (version 1.62.0) afin de réduire l'utilisation du processeur et d'améliorer l'efficacité. Il repose principalement sur quatre bibliothèques : boost_system, boost_thread, boost_chrono et boost_filesystem. Des solutions de liaison statique et dynamique sont disponibles.

Liaison statique

Les fichiers de bibliothèque pour ApsaraMQ for RocketMQ se trouvent dans le répertoire lib/lib-boost-static, où la bibliothèque Boost est liée statiquement à libonsclient4cpp.a. Si votre application ne dépend pas de la bibliothèque Boost, vous pouvez utiliser directement cette solution de bibliothèque statique. Dans ce cas, la bibliothèque Boost étant déjà liée à libonsclient4cpp.a, il vous suffit de lier libonsclient4cpp.a lors de la compilation. Aucune autre opération n'est nécessaire. Voici la procédure à suivre.

cd aliyun-mq-linux-cpp-sdk  // The directory where you extracted the SDK.
cd example                  // Enter the example directory and modify the example file with your topic, key, and other information.
make static=1            
Important

Pour une liaison entièrement statique, assurez-vous que les bibliothèques statiques associées, telles que libstdc++ et pthread, sont installées sur votre machine. L'installation par défaut de libstdc++ n'inclut pas la bibliothèque statique. Vous devez utiliser yum ou apt-get pour installer les bibliothèques statiques requises.

L'utilisation de cette méthode peut générer l'avertissement suivant :

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

Par bonne pratique, nous vous recommandons d'éviter une liaison entièrement statique. Liez plutôt onsclient4cpp de manière statique et les autres bibliothèques de manière dynamique. Utilisez la commande suivante :

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        

De plus, comme GCC 5.x introduit un Dual ABI, ajoutez l'option -D_GLIBCXX_USE_CXX11_ABI=0 lors de la compilation et de la liaison.

Liaison dynamique

Les fichiers de bibliothèque ApsaraMQ for RocketMQ se trouvent dans le répertoire lib/lib-boost-share. Vous devez lier les bibliothèques dynamiques Boost et libonsclient4cpp.so lors de la génération de votre fichier exécutable. Si votre application dépend déjà de Boost et que vous souhaitez utiliser la solution de liaison dynamique, procédez comme suit :

  1. Téléchargez Boost version 1.62.0.

    boost 1.62.0

  2. Extrayez le package Boost 1.62.0.

    tar --bzip2 -xf /path/to/boost_1_62_0.tar.bz2

  3. Installez Boost 1.62.0.

    1. Accédez au répertoire dans lequel vous avez extrait Boost 1.62.0 : cd path/to/boost_1_62_0

    2. Configurez Boost : ./bootstrap.sh

    3. Compilez Boost : ./b2 link=shared runtime-link=shared

    4. Installez Boost : ./b2 install

  4. Exécutez ldconfig -v|grep libboost. Toute sortie de cette commande confirme que les bibliothèques dynamiques Boost figurent dans le chemin de recherche des bibliothèques dynamiques.

  5. Lors de la génération du fichier exécutable, liez les bibliothèques dynamiques Boost et la bibliothèque dynamique ApsaraMQ for RocketMQ à l'aide des commandes suivantes :

    cd aliyun-mq-linux-cpp-sdk  // The directory where you extracted the SDK.
    cd example                  // Enter the example directory and modify the example file with your topic, key, and other information from the ApsaraMQ for RocketMQ console.
    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/"  // Add the search path for dynamic loading.
    ./a.out  // Run the program.

SDK C++ pour Windows

Utiliser le SDK C++ dans un environnement Visual Studio 2015

  1. Créez un nouveau projet dans Visual Studio 2015. Dans la boîte de dialogue New Project, développez Installed > Templates > Visual C++, sélectionnez Win32, puis choisissez Win32 Console Application. Après avoir défini un nom de projet, cliquez sur OK. Sur la page de présentation de l'Assistant d'application Win32, vérifiez que le type de projet est Console application et cliquez sur Next >. Dans la page des paramètres de l'application, définissez Application type sur Console application, cochez la case Empty project, puis cliquez sur Finish.

  2. Cliquez avec le bouton droit sur votre projet dans l'Explorateur de solutions et sélectionnez Properties > Configuration Manager. Définissez Active solution configuration sur release et Active solution platform sur x64.

  3. Cliquez avec le bouton droit sur le projet, sélectionnez Properties > Configuration Properties > General, et définissez Output Directory sur /A. Selon le paramètre Active solution platform, copiez tous les fichiers du répertoire lib 64 bits vers le répertoire de sortie /A. Cliquez avec le bouton droit sur le projet, sélectionnez Properties > Configuration Properties > General, confirmez que Output Directory est $(SolutionDir)$(Platform)\$(Configuration)\ (ce chemin est généré automatiquement après la build), et définissez Platform Toolset sur Visual Studio 2015 - Windows XP (v140_xp). Copiez les fichiers ONSClient4CPP.dll, ONSClient4CPP.lib et ONSClient4CPP.pdb depuis le répertoire lib du SDK téléchargé vers ce répertoire de sortie.

  4. Cliquez avec le bouton droit sur le projet et sélectionnez Properties > Configuration Properties > C/C++-General > Additional Include Directories : /B. Copiez les fichiers d'en-tête du répertoire include vers le répertoire include : /B.

  5. Cliquez avec le bouton droit sur le projet et sélectionnez Properties > Configuration Properties > Linker > General > Additional Library Directories : /A. Ajoutez le chemin vers le répertoire lib du SDK, par exemple E:\aliyun-mq-windows-cpp-sdk\lib\64, qui contient les fichiers DLL pertinents. Si vous utilisez Visual Studio 2015 sur Windows 7, vous devez également ajouter le chemin de la bibliothèque ucrt, par exemple C:\Program Files (x86)\Windows Kits\10\Lib\10.0.10150.0\ucrt\x64.

  6. Accédez à Properties > Configuration Properties > Linker > Input. Ajoutez ONSClient4CPP.lib à Additional Dependencies.

  7. Accédez à Properties > Configuration Properties > C/C++ > Preprocessor. Ajoutez la macro WIN32 à Preprocessor Definitions.

Utiliser le SDK C++ dans un environnement autre que Visual Studio 2015

  1. Commencez par configurer votre projet en suivant les étapes prévues pour l'environnement Visual Studio 2015.

  2. Installez vc_redist.x64, l'environnement d'exécution pour Visual C++ 2015.

    Important

    Pour éviter une configuration manuelle, vous pouvez utiliser la démo du SDK préconfigurée. Après avoir téléchargé et extrait le SDK, accédez au répertoire demo et ouvrez le projet dans Visual Studio 2015.

    Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le projet demo et ouvrez ses propriétés. Définissez Configuration sur Release et Platform sur x64. Développez Configuration Properties > C/C++ > General. Modifiez le champ Additional Include Directories et ajoutez deux chemins : ../../include et C:\Program Files (x86)\Windows Kits\10\Include\10.0.10150.0\ucrt. Remplacez le numéro de version, tel que 10.0.10150.0, par la version de Windows Kits installée sur votre machine.

    Votre environnement de build est désormais configuré. Cliquez sur Build pour compiler le programme exécutable. Pour exécuter le programme, copiez le fichier DLL dans le même répertoire que l'exécutable ou dans un répertoire système.

Plus d'informations

Exemple de code