Donnerstag, Februar 27, 2020

Installieren und verwenden MQTT Paho-Bibliotheken für C++

Ich hoffe, mein problem ist einfach zu lösen. Ich sollte zu verwenden mqtt-Protokoll mit meinem Raspberry Pi v2, so jetzt versuche ich es mit Paho Bibliotheken:

http://www.eclipse.org/paho/

Verwende ich C++ – Sprache, also schrieb ich zunächst diese Befehle

git clone http://git.eclipse.org/gitroot/paho/org.eclipse.paho.mqtt.c.git
cd org.eclipse.paho.mqtt.c.git
make
sudo make install

und dann diese

git clone http://git.eclipse.org/gitroot/paho/org.eclipse.paho.mqtt.cpp.git
cd org.eclipse.paho.mqtt.cpp.git
make

Nun habe ich zwei Fragen:

  1. Was ist die Bibliothek, die ich in meine Datei? Ich bin versucht zu kompilieren Sie das Beispiel in der Paho-Website https://www.eclipse.org/paho/clients/cpp/ aber wenn ich die C-Bibliothek „MQTTClient.h“ (in der C-Beispiel) tut es nicht erkennt, dass die Klassen, wie mqtt::client. Ich habe versucht, zu zählen client.h (ich fand es in der Dokumentation) aber der compiler nicht finden.
  2. Warum die C++ – Prozedur zu starten Paho Bibliotheken nicht installieren, nichts? Es wird nur der Befehl make schafft die Bibliothek lib/linmqttpp.so.0.1. Ich muss link es in der compile-Befehl? Wie?
  • was reden Sie da, was macht git zu tun haben, mit c__
  • 5 ich möchte wissen, ob ich nach der Installation der Bibliotheken für C++ in die falsche Richtung. Wie muss ich kompilieren meine C++ – Datei? Gibt es eine Bibliothek, in Verbindung mit option-l? Wenn ich g++ -o example example.cpp, gibt einen Fehler zurück, dass der compiler nicht gefunden, die header-Dateien, die ich habe enthalten (z.B. client.h in denen definiert ist mqtt Klasse). Wenn jemand kann mir erklären, wie zu installieren, zu enthalten und zu kompilieren, wäre ich dankbar. Ich glaube nicht, hunderstand wie call library in der Datei, die ich kompilieren in C++.
InformationsquelleAutor thoraz | 2015-09-17

1 Kommentar

  1. 1

    derzeit in der paho c++ in das git-Projekt ist es nicht richtig für neue Benutzer. es erstellt eine leere c++ – Bibliothek, wenn Sie tun, ein machen, so dass jeder code, den Sie Links vor, die mit fehl Undefinierte Methode. Sie können prüfen, indem Sie diesen Befehl ausführen, um zu sehen, was verfügbar ist in Ihrer Bibliothek.

    nm -g lib/linmqttpp.so.0.1

    Werden Sie sehen, es ist leer.

    Auch wenn Sie kopiert und übergeben Sie den Beispiel-code von der website, dann wird es nicht funktionieren. Es muss anderen code außer dem, was auf der website. Man erhält nur einen code-snippet.

    Beispiel-code in diesem Verzeichnis.
    src/samples

    paho c++ Beispiele

    Derzeit die make-Datei für das Beispiel-Dateien schlägt fehl.

    Ich eingereicht haben, einen patch, gerade jetzt das Projekt zu beheben, den main bauen, und die sample-Dateien erstellen. Einmal angewendet, wird das Projekt bauen Sie richtig starten können, hacken Sie die sample-Dateien.

    Mit Bezug auf das C++ – Projekt nicht zu installieren, weil es kein Ziel in der Datei zu tun, eine Installation. wenn Sie möchten kopieren Sie nun die Dateien, die erstellt werden, in lib der unten mit sudo-Berechtigungen.
    /usr/local/lib/

    Dann können Sie den Zugriff auf die shared libraries von jedem Projekt.

Kostenlose Online-Tests