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 explique comment préparer l'environnement pour utiliser le SDK C++ v1.x.x afin de se connecter à Message Queue for Apache RocketMQ. Cette configuration vous permet d'utiliser le SDK pour envoyer et recevoir des messages.

Avant de commencer :

  • Cette rubrique s'applique uniquement au SDK C++ v1.x.x.

  • Dans la console, créez les topics et les ID de groupe que votre code utilisera. Vous pouvez personnaliser les tags de message dans votre application. Pour plus d'informations sur la création des ressources, consultez Créer des ressources.

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

Télécharger le SDK Tablestore pour C++

Le SDK C++ prend en charge les systèmes d'exploitation Windows et Linux avec des interfaces identiques. Sous Linux, les séries CentOS 6 (RHEL 6) et CentOS 7 (RHEL 7) sont prises en charge. Pour plus d'informations sur le téléchargement du SDK C++, consultez Notes de version du SDK client TCP pour C++.

Une fois le téléchargement terminé, décompressez le package. La structure des répertoires est la suivante :

  • demo/ (pour Windows uniquement)

    Contient un exemple de démonstration Windows C++.

  • example/

    Les exemples incluent l'envoi de messages normaux, l'envoi de messages unidirectionnels, l'envoi de messages ordonnés, la consommation de messages normaux et la consommation de messages ordonnés. Linux inclut également Makefile pour la compilation et la gestion de example.

  • include/

    Ce répertoire contient les fichiers d'en-tête requis par vos programmes.

  • lib/

    • Les sous-répertoires suivants du SDK Linux contiennent les bibliothèques statiques et dynamiques 64 bits.

      lib-boost-share/
        libonsclient4cpp.so
      lib-boost-static/
        libonsclient4cpp.a                        
    • Le sous-répertoire du SDK Windows ci-dessous contient la bibliothèque DLL du SDK pour un système 64 bits. Si aucun environnement Visual Studio 2015 n'est installé, copiez le fichier d'installation vc_redist.x64. Il s'agit de l'environnement d'exécution pour Visual C++ 2015.

      64/
      vc_redist.x64                        
  • SDK_GUIDE.pdf

    Contient la documentation et la foire aux questions (FAQ) sur la préparation de l'environnement du SDK.

  • changelog

    Contient les corrections de bugs et les nouvelles fonctionnalités des versions récentes.

SDK Linux C++

Depuis le 02 décembre 2016, la version CPP Linux dépend de la bibliothèque Boost haute performance (version 1.62.0), ce qui réduit non seulement le taux d'utilisation du CPU, mais améliore également l'efficacité opérationnelle. Actuellement, elle dépend principalement de quatre bibliothèques : boost_system, boost_thread, boost_chrono et boost_filesystem. Deux solutions existent : la bibliothèque statique et la bibliothèque dynamique.

Solution statique

Le fichier de bibliothèque ApsaraMQ for RocketMQ se trouve dans le répertoire lib/lib-boost-static. La bibliothèque Boost est liée statiquement à libonsclient4cpp.a. Si votre application ne dépend pas de la bibliothèque Boost, vous pouvez sélectionner directement la solution de bibliothèque statique. Dans cette solution, la bibliothèque Boost correspondante a déjà été liée à libonsclient4cpp.a. Il vous suffit de lier libonsclient4cpp.a lors de la compilation, sans autre opération requise. Le code suivant illustre la configuration des champs :

cd aliyun-mq-linux-cpp-sdk // The path where the downloaded SDK is decompressed.
cd example // Go to the example directory, modify the example file, and enter the information about the topic and key that you created.
make static=1            
Important

Pour les liens entièrement statiques, assurez-vous que les bibliothèques statiques libstdc++, pthread et autres bibliothèques connexes sont installées sur la machine. Par défaut, libstdc++ n'a pas de bibliothèques statiques installées ; vous devez donc installer les bibliothèques statiques appropriées via yum ou apt-get.

De plus, certains messages d'avertissement apparaîtront comme suit lors de l'utilisation de la méthode ci-dessus.

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

Il est recommandé de ne pas utiliser de liens complètement statiques, mais plutôt de lier statiquement uniquement onsclient4cpp, tandis que les autres bibliothèques peuvent être liées dynamiquement. Le code suivant illustre la configuration des champs :

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 le Dual ABI, ajoutez l'option de compilateur -D_GLIBCXX_USE_CXX11_ABI=0 lors de la compilation des liens.

Solutions dynamiques

Le fichier de bibliothèque ApsaraMQ for RocketMQ se trouve dans le répertoire lib/lib-boost-share. Lors de la génération du fichier exécutable, vous devez lier la bibliothèque dynamique Boost et libonsclient4cpp.so. Si votre application dépend déjà de la bibliothèque Boost et que vous souhaitez sélectionner une solution de bibliothèque dynamique, effectuez les opérations suivantes pour gérer la dépendance à la bibliothèque Boost :

  1. Téléchargez Boost 1.62.0.

    boost 1.62.0

  2. Décompressez boost 1.62.0.

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

  3. Installez la version 1.62.0 de boost :

    1. Accédez au chemin après la décompression de 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. S'il y a une sortie pertinente, cela indique que la bibliothèque dynamique boost se trouve dans le chemin de recherche des bibliothèques dynamiques.

  5. Lors de la génération d'un fichier exécutable, vous devez lier la bibliothèque dynamique boost et la bibliothèque dynamique ApsaraMQ for RocketMQ. La méthode est la suivante.

    cd aliyun-mq-linux-cpp-sdk // The path where the downloaded SDK is decompressed.
    cd example // Go to the example directory, modify the example file, and enter the topics and keys that you created in the Message Queue for Apache 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 dynamically loaded search paths.
    ./a.out  //Run the program.

SDK Windows C++

Utiliser le SDK C++ dans Visual Studio 2015

  1. Créez un projet dans Visual Studio 2015.

    Cliquez sur New Project. Dans la boîte de dialogue New Project, sélectionnez Installed > Templates > Visual C++ > Win32, puis sélectionnez Win32 Console Application et cliquez sur OK pour créer le projet.

    Dans la boîte de dialogue Win32 Application Wizard, confirmez que le type de projet est Console application, puis cliquez sur Next pour passer à l'étape de configuration suivante.

    Définissez Application type sur Console application, sélectionnez Empty project, puis cliquez sur Finish pour créer un projet vide.

  2. Cliquez avec le bouton droit sur le projet et sélectionnez Property > Configuration Manager. Définissez Active solution configuration sur release et Active solution platform sur x64.

  3. Cliquez avec le bouton droit sur le projet et accédez à Property > Configuration Properties > General. Définissez Output Directory sur /A. En fonction du paramètre Active solution platform, copiez tous les fichiers du répertoire lib 64 bits dans le répertoire de sortie /A.

    Définissez Platform Toolset sur Visual Studio 2015 - Windows XP (v140_xp). La valeur de Output Directory est $(SolutionDir)$(Platform)\$(Configuration)\, qui est générée automatiquement après la compilation. Copiez ONSClient4CPP.dll, ONSClient4CPP.lib et ONSClient4CPP.pdb depuis le répertoire lib du SDK vers ce répertoire de sortie de compilation.

  4. Cliquez avec le bouton droit sur le projet et accédez à Property > Configuration Properties > C/C++ > General. Définissez Additional Include Directories sur /B. Copiez les fichiers d'en-tête du répertoire include dans /B.

    Ajoutez le chemin du répertoire include du SDK (par exemple, E:\aliyun-mq-windows-cpp-sdk\include). Vous pouvez également spécifier un autre répertoire et y copier les fichiers include du SDK. Si vous utilisez VS2015 sur Windows 7, ajoutez également le chemin ucrt de Windows Kits, par exemple C:\Program Files (x86)\Windows Kits\10\Include\10.0.10150.0\ucrt.

  5. Cliquez avec le bouton droit sur le projet et accédez à Property > Configuration Properties > Linker > General. Définissez Additional Library Directories sur /A.

    Ajoutez les chemins suivants :

    • Le chemin du répertoire lib\64 du SDK (contient les fichiers DLL pertinents).

    • Si vous utilisez VS2015 sur Windows 7, ajoutez également le chemin ucrt\x64 de Windows Kits, par exemple C:\Program Files (x86)\Windows Kits\10\Lib\10.0.10150.0\ucrt\x64.

  6. Cliquez avec le bouton droit sur le projet et accédez à Property > Configuration Properties > Linker > Input. Définissez Additional Dependencies sur ONSClient4CPP.lib.

  7. Cliquez avec le bouton droit sur le projet et accédez à Property > Configuration Properties > C/C++ > Preprocessor. Ajoutez la macro WIN32 à Preprocessor Definitions.

    Définissez Preprocessor Definitions sur NDEBUG;WIN32_CONSOLE;%(PreprocessorDefinitions).

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

  1. Configurez votre environnement en suivant les étapes de la section « Utiliser le SDK C++ dans Visual Studio 2015 ».

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

    Important

    Pour éviter des configurations complexes, 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.

    1. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le projet de démo et sélectionnez Properties pour ouvrir la page des propriétés.

    2. Développez Configuration Properties > C/C++ > General.

    3. Modifiez Additional Include Directories et ajoutez les chemins ../../include et C:\Program Files (x86)\Windows Kits\10\Include\10.0.10150.0\ucrt.

    4. Remplacez le numéro de version dans le chemin ucrt (tel que 10.0.10150.0) par la version du Windows SDK installée sur votre machine.

    Cliquez sur Build pour compiler le projet. Pour exécuter l'exécutable, copiez les DLL requises dans le répertoire de l'exécutable ou dans un répertoire système.

Rubriques connexes