По сути, у меня есть библиотека paho-mqtt-c, установленная в моих rootfs с использованием среды сборки Yocto. Поскольку он уже был включен в мета-слой, мне просто нужно было добавить этот рецепт в переменную IMAGE_INSTALL_append.
Я подтвердил это, проверив следующее:
root@am65xx-evm:/usr/lib# ls | grep mqtt
libpaho-mqtt3a.so.1
libpaho-mqtt3a.so.1.0
libpaho-mqtt3as.so.1
libpaho-mqtt3as.so.1.0
libpaho-mqtt3c.so.1
libpaho-mqtt3c.so.1.0
libpaho-mqtt3cs.so.1
libpaho-mqtt3cs.so.1.0
Будучи новичком в создании кросс-скомпилированных приложений и настройке цепочек инструментов, у меня есть основной вопрос, на который я не смог точно найти ответ.
Теперь, когда на моей целевой машине установлена библиотека, как мне разработать приложение на моей хост-машине под управлением Ubuntu 18.04 LTS?
Я могу выполнить apt-get install и получить ту же библиотеку, но, используя кросс-компилятор для компиляции файла C, он не может видеть библиотеку MQTT.
Например:
~/gcc-linaro-7.2.1-2017.11-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gcc mqtt-test.c -l paho-mqtt3c
mqtt-test.c:4:10: fatal error: MQTTClient.h: No such file or directory
#include "MQTTClient.h"
^~~~~~~~~~~~~~
compilation terminated.