Не удается включить файлы
По какой-то причине Arduino IDE не может найти файл, который я сделал для проекта:
#include <foo1.h>
#include <foo2.h>
#include "foo3.h"
Где foo1 и foo2-обычные библиотеки, включенные таким образом с<..>, но foo3-это другой файл, который я написал, который находится в том же каталоге, что и файл .ino, из которого взят этот код. Если я по существу преобразую foo3 в библиотеку и включаю его в качестве библиотеки в свой проект, он работает, но затрудняет перемещение проекта.
Ошибка, которую я получаю:
Project.ino:6:23: fatal error: foo3.h: No such file or directory
:#include "foo3.h"
:compilation terminated
Error compiling project sources
Примечание: Ошибка сохраняется как в Arduino IDE, так и в VMicro
@Ignat Georgiev, 👍4
Обсуждение3 ответа
Вопрос немного неясен, однако, насколько я знаю, для использования включенных библиотек:
#include <SPI.h>
Таким образом, <
и >>
используются для общих библиотек, которые находятся в C:\Program файлы...Папка \Arduino
И для конкретных (собственных или в зависимости от скетча) включаемых файлов
#include "MyFile.h"
следует использовать файл, который должен находиться в той же папке, что и файл скетча.
Да, это то, что я сделал, но файл, который я включил как"..", не может быть найден в среде IDE, даже если он находится в той же папке, что и файл main .ino., @Ignat Georgiev
"Скобки" связаны не с тем, где находятся файлы, а с порядком поиска в каталогах. Для GCC (Visual Studio отличается) файлы в кавычках ищутся в каталоге, содержащем файл, который включает в себя "предварительно настроенные системные каталоги", где в <>скобках пропускаются локальные папки. Кроме того, легче найти ошибки компиляции, если вы включите <>first и"", потому что местоположение ошибки дублирующего определения будет указано в вашем коде, а не в системных библиотеках (которые вы не должны изменять)., @Code Gorilla
Похоже, моя ошибка заключалась в том, что я просто создал новые файлы с помощью другой программы и просто поместил их в каталог проекта. Это, вероятно, сбило с толку IDE, поскольку файлы не были включены в сборку проекта.
Удалось устранить эту проблему, создав новые файлы в самом проекте и просто скопировав в них мой код. Для VMicro/Visual Studio:
VMicro\Добавить код\Добавить пустые файлы Arduino .h и .cpp
Переход на двойные кавычки с заголовочными файлами в одной папке сработал для меня.
- avrdude ser_open() can't set com-state
- Float печатается только 2 десятичных знака после запятой
- ошибка: espcomm_upload_mem failed при загрузке скетча
- Печать массива байтов на экране последовательного монитора Arduino IDE
- Разные и самые быстрые способы вычисления синусов и косинусов в Arduino
- Arduino IDE Отказано В Разрешении На Загрузку, Ubuntu
- Нет заголовочных файлов (.h) в Documents\Arduino\libraries\arduino_144469 с демонстрационным кодом
- Связь Arduino master/slave с использованием RS485
В сообщении об ошибке он показывает "<>"для проблемного файла, хотя ваш вопрос предполагает, что вы используете """" (как и следовало бы). Что это?, @Mark Smith
Похоже, я скопировал неправильное сообщение об ошибке. Спасибо, что заметил., @Ignat Georgiev