Installez la bibliothèque dynamique rocketmq-client-cpp avant d'utiliser le SDK Community Edition pour C++ afin de vous connecter à ApsaraMQ for RocketMQ.
Prérequis
Avant de commencer, assurez-vous de disposer des éléments suivants :
-
Un système d'exploitation pris en charge :
Linux (basé sur RPM) : CentOS 6.8, CentOS 7.2, RHEL 6.x ou RHEL 7.x
Linux (basé sur Debian) : Ubuntu 18.04
macOS : macOS Mojave 10.14.x
Une version de gcc/g++ supérieure à 4,8
Des autorisations sudo ou un compte root
Installer la bibliothèque
La version Community Edition de rocketmq-client-cpp fournit des binaires précompilés. Les exemples suivants utilisent la version 2.0.1. Pour les autres versions, consultez les Notes de version.
La bibliothèque s'installe par défaut dans le répertoire des bibliothèques dynamiques du système. Exécutez les commandes suivantes avec les privilèges sudo ou en tant qu'utilisateur root.
Linux basé sur RPM (CentOS, RHEL)
Pour CentOS 7.2 et RHEL 7.x, installez le package RPM rocketmq-client-cpp-2.0.1 :
rpm -ivh https://github.com/apache/rocketmq-client-cpp/releases/download/2.0.1/rocketmq-client-cpp-2.0.1-centos7.x86_64.rpm
Pour CentOS 6.8 et RHEL 6.x, utilisez le package CentOS 6 :
rpm -ivh https://github.com/apache/rocketmq-client-cpp/releases/download/2.0.1/rocketmq-client-cpp-2.0.1-centos6.x86_64.rpm
Linux basé sur Debian (Ubuntu)
Téléchargez et installez le package .deb :
wget https://github.com/apache/rocketmq-client-cpp/releases/download/2.0.1/rocketmq-client-cpp-2.0.1.amd64.deb
sudo dpkg -i rocketmq-client-cpp-2.0.1.amd64.deb
macOS
Téléchargez l'archive tar et installez les fichiers manuellement :
# Download and extract the prebuilt binary
mkdir cppsdk
cd cppsdk
wget https://github.com/apache/rocketmq-client-cpp/releases/download/2.0.1/rocketmq-client-cpp-2.0.1-bin-release-darwin.tar.gz
tar -xzf rocketmq-client-cpp-2.0.1-bin-release-darwin.tar.gz
# Copy the shared library and headers to system paths
cp rocketmq-client-cpp/lib/* /usr/local/lib/
mkdir -p /usr/local/include/rocketmq/
cp rocketmq-client-cpp/include/* /usr/local/include/rocketmq/
# Fix the dynamic library install name for runtime linking
install_name_tool -id "@rpath/librocketmq.dylib" /usr/local/lib/librocketmq.dylib
Après l'installation, la bibliothèque partagée se trouve à l'emplacement /usr/local/lib/librocketmq.dylib et les en-têtes dans /usr/local/include/rocketmq/.
Vérifier l'installation
Confirmez que le système peut localiser la bibliothèque partagée.
Linux :
ldconfig -p | grep librocketmq
Si cette commande ne renvoie aucun résultat, actualisez le cache des bibliothèques partagées et réessayez :
sudo ldconfig
ldconfig -p | grep librocketmq
macOS :
ls /usr/local/lib/librocketmq.dylib
Dépannage
| Symptôme | Cause | Solution |
|---|---|---|
librocketmq.so: cannot open shared object file |
Le cache des bibliothèques partagées n'a pas été actualisé après l'installation. | Exécutez sudo ldconfig et réessayez. |
L'échec de rpm -ivh avec une erreur de dépendance |
Dépendances système manquantes. | Installez les dépendances requises avec yum, puis réessayez. |
L'échec de dpkg -i avec une erreur de dépendance |
Dépendances système manquantes. | Exécutez sudo apt-get install -f pour résoudre les dépendances, puis réessayez. |