Ошибка при включении библиотек c и c в Arduino

#arduino

#arduino

Вопрос:

когда я пытаюсь скомпилировать файл .ino, я получаю ошибку импорта. Это структура:

основной файл в ~/Documents/Arduino/inos/mpu9250test /mpu9250test.ino, в который я добавляю #include "mpudmp.h"

Этот файл находится по пути ~/Documents/Arduino/libraries/mpudmp /mpudmp.h и также содержит импортированные:

 #include <stdint.h>
#include <cmath>
#include <sys/time.h>
#include <stdio.h>
#include "helper_3dmath.h"
#include "mpudmp_registers.h"
  

Я понимаю, что система / время.h и cmath являются библиотеками C и C соответственно. Это первое находится в /usr /include /sys / time.h и вторая в /usr/include/sys/c /4.2.1/cmath. Теперь, когда я компилирую, я получаю следующую ошибку:

 /Users/sebamenabar/Documents/Arduino/libraries/mpudmp/mpudmp.h:31:17: fatal error: cmath: No such file or directory #include <cmath>
  

И если я прокомментирую строку, импортирующую cmath в mpudump.h У меня также есть ошибка со временем.h:

 /Users/sebamenabar/Documents/Arduino/libraries/mpudmp/mpudmp.h:32:22: fatal error: sys/time.h: No such file or directory #include <sys/time.h>
  

Я запускаю macOS с установленным GCC, и моя цель — запрограммировать Arduino Pro Mini

Ответ №1:

Проблема с GCC заключается в том, что он не создает ссылки в библиотеках std C по умолчанию, как это делает G . Поэтому всегда желательно использовать G при компиляции файлов C . Результат может быть одинаковым как для GCC, так и для G , если вы знаете точные аргументы для их связывания.