Запустите простой пример C на Intel Edison

Я пытаюсь подключить Intel Edison к концентратору IOT в отношении документации по Azure в Git

https://github.com/Azure/azure-iot-sdks/blob/26e81a7a3358815bfee9553678f546ffe6f3d3ce/c/doc/run_sample_on_intel_edison.md

это говорит

Перейдите к: ~ / cmake / iothub_client / samples / iothub_client_sample_amqp

а также

./iothub_client_samples_iothub_client_sample_amqp

но в этой папке нечего запускать

Я нашел его файл .c в azure-iot-sdks / c / iothub_client / samples / iothub_client_sample_amqp

но он говорит, что у меня нет разрешения, и я пробую его с помощью команды gcc, но он говорит:

gcc ./iothub_client_sample_amqp.cthub_client/samples/iothub_client_sample_amqp#
./iothub_client_sample_amqp.c:7:27: fatal error: iothub_client.h: No such file or directory
 #include "iothub_client.h"
                       ^
 compilation terminated.
cd \@pe3iot:~/azure-iot-sdks/c/iothub_client/samples/iothub_client_sample_amqp#

но в папке cmaker у меня есть клиентская папка iothub, я запустил

$ ./build_proton.sh

$ ./build.sh

успешно и скопируйте libqpid-proton.so.2 в lib,

мой cmaker

root @ pe3iot: ~ # cmake --version cmake версия 3.4.0

gcc:

root @ pe3iot: ~ # gcc --version gcc (GCC) 4.9.1

тоже пробовали Обновленные инструкции на

https://github.com/Azure/azure-iot-sdks/pull/212/files?short_path=af74a54

Внесите все изменения в файл, но мне не удалось запустить "make -f makefile.linux" с ошибкой

make: makefile.linux: Нет такого файла или каталога make: *** Нет правила для создания целевого файла makefile.linux. Стоп.

Заранее спасибо


person DtrollQ    schedule 11.01.2016    source источник
comment
gcc ./iothub_client_sample_amqp.cthub_client/samples/iothub_client_sample_amqp# ./iothub_client_sample_amqp.c:7:27: fatal error: iothub_client.h: No such file or directory #include "iothub_client.h" Вероятно, ошибка здесь, потому что gcc ищет iothub_client.h в вашей текущей папке, но не в той папке, в которой находится компилируемый файл. Попробуйте сначала перейти в папку, содержащую файл c, а затем скомпилировать его.   -  person V. Kravchenko    schedule 11.01.2016


Ответы (1)


Я столкнулся с аналогичной проблемой и сообщил о ней в azure-iot-sdks Github https://github.com/Azure/azure-iot-sdks/issues/353.

Причина этого:

У Intel Edison установлена ​​более старая версия Git, которая не поддерживает подмодули. Наш C SDK использует подмодули для каждой реализации протокола, и из-за того, что эти подмодули не существуют, сценарий сборки не удался.

Решением для этого является кросс-компиляция пакета SDK для Azure IoT в ОС Linux, на что вы можете ссылаться как на решение hokkhurana по адресу https://github.com/Azure/azure-iot-sdks/issues/435.

Надеюсь это поможет.

person Jerry Chong    schedule 15.05.2016