Я надеюсь, что моя проблема проста для решения. Я должен использовать протокол mqtt с моей Raspberry Pi v2, так что теперь я пробую его с библиотеками Paho:
Я использую язык C ++, поэтому я сначала написал эти команды
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
а потом эти
git clone http://git.eclipse.org/gitroot/paho/org.eclipse.paho.mqtt.cpp.git
cd org.eclipse.paho.mqtt.cpp.git
make
Теперь у меня есть два вопроса:
mqtt::client
, Я пытался включить client.h
(я нашел это в документации), но компилятор не находит это.lib/linmqttpp.so.0.1
, Я должен связать это в команде компиляции? Как?в настоящее время в paho c ++ в проекте git он не собирается должным образом для новых пользователей. когда вы делаете make, он создает пустую библиотеку c ++, поэтому любой код, на который вы ссылаетесь, завершится неудачно с помощью неопределенного метода. Вы можете проверить, запустив эту команду, чтобы увидеть, что доступно в вашей библиотеке.
nm -g lib/linmqttpp.so.0.1
Вы увидите, что он пуст.
Также, если вы скопировали и передали пример кода с веб-сайта, он не будет работать. Ему нужен другой код помимо того, что есть на сайте. Это просто дает вам фрагмент кода.
Пример кода находится в этом каталоге.
src/samples
В настоящее время make-файл для примеров файлов завершится ошибкой.
Я только что отправил патч в проект, чтобы исправить основную сборку и сборку примеров файлов. Как только это будет применено, проект будет построен правильно, вы можете начать взламывать файлы примеров.
Что касается проекта C ++, который не устанавливает его, потому что в файле make нет цели для установки. если вы хотите сейчас скопировать файлы, созданные в lib, ниже с разрешениями sudo.
/ USR / местные / Библиотека /
Затем вы можете получить доступ к общим библиотекам из любого проекта.