#arduino #include #arduino-ide
#arduino #включить #arduino-ide
Вопрос:
У Arduino IDE возникли проблемы с включением моих файлов заголовков, и я не совсем уверен, почему.
Вот структура моего проекта:
project/
├ project.ino
├ README.md
└ src/
└ foo.h
Тогда в моем project.ino
файле есть следующее:
#include "src/foo.h"
void init() {
// init stuff
}
void loop() {
// loop stuff
}
Когда я затем пытаюсь скомпилировать, я получаю следующую ошибку:
fatal error: src/foo.h: No such file or directory
Действительно ли мне нужно, чтобы все файлы моего проекта находились в одной папке?
Я не хочу помещать файлы в library/
поскольку предполагается, что весь проект будет извлечен из GitHub, поэтому удобнее хранить его в одной корневой папке.
Что я здесь делаю не так, почему он не может найти мой файл?
PS: запись #include "./src/foo.h"
ничего не делает, чтобы исправить это
Ответ №1:
Если вы используете Windows, это должно быть похоже
include "srcfoo.h"
Для Windows вы должны использовать косую черту, тогда как фоновая косая черта для систем на базе Unix (Mac / Linux)
Комментарии:
1. Я не пользуюсь Windows
Ответ №2:
Если вы используете Windows, используйте
#include ".\src\foo.h"
для Linux и macOS используйте
#include ".//src//foo.h"
Причина странного поведения Arduino заключается в том, что файлы .ino предварительно обрабатываются и копируются во временный каталог вместе с другими библиотеками и файлами .cpp amp; .h. Программное обеспечение Arduino копирует эти файлы во временный каталог, но не копирует папки.