私は、MQTTクライアントとして機能する必要があるDebian 9(ホームIoTプロジェクト用)でC ++プログラムを開発しています。これに関して paho.mqtt が役に立つことがわかりましたが、これまでインストールするためのオンライン文書のどれも機能しません。
Paho mqtt C ++クライアントをDebian 9で動作させた経験がある人はいますか?それでは、私が取るべきステップを案内してもらえますか?
(私の背景:私はCまたはC ++でコードを書くときにLinuxに慣れていてOKですが、C ++コンパイラがどのように機能するのか、この場合私のプログラムで使用できるC ++ヘッダを取得する方法には慣れていません。)
よろしくお願いします!
答え1
最小限の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/
。そのうちの1つ()を実行して/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
。