Linux

在 Debian 上安裝 eclipse/paho.mqtt c++ 客戶端

  • July 2, 2019

我正在 Debian 9 上開發一個需要充當 MQTT 客戶端的 C++ 程序(用於家庭物聯網項目)。我發現 paho.mqtt 在這方面會有所幫助,但到目前為止,安裝它的線上文件都沒有工作。

有沒有人有讓 paho mqtt c++ 客戶端在 Debian 9 上工作的經驗?如果是這樣,你能幫我完成我需要做的步驟來讓它工作嗎?

(我的背景:我對 Linux 非常熟悉,在用 C 或 C++ 編寫程式碼時還可以,但對 C++ 編譯器的工作原理或在這種情況下如何獲取可用於我的程序的 C++ 標頭檔不太熟悉)

提前致謝!

我安裝了一個庫存最小的 Debian 9 實例,以具有 sudo 權限的普通使用者身份登錄並執行了:

sudo apt-get install build-essential gcc make cmake cmake-gui cmake-curses-gui git doxygen graphviz libssl-dev
git clone https://github.com/eclipse/paho.mqtt.c.git
cd paho.mqtt.c
git checkout v1.2.1
cmake -Bbuild -H. -DPAHO_WITH_SSL=ON
sudo cmake --build build/ --target install
sudo ldconfig
cd ..
git clone https://github.com/eclipse/paho.mqtt.cpp
cd paho.mqtt.cpp
cmake -Bbuild -H. -DPAHO_BUILD_DOCUMENTATION=TRUE -DPAHO_BUILD_SAMPLES=TRUE
sudo cmake --build build/ --target install

這給了我一些二進製文件/usr/local/bin/。我執行了其中一個 ( /usr/local/bin/sync_publish) 並得到:

/usr/local/bin/sync_publish: error while loading shared libraries: libpaho-mqttpp3.so.1: cannot open shared object file: No such file or directory

我通過這樣做解決了這個問題sudo ldconfig

引用自:https://unix.stackexchange.com/questions/527810