Wire.h не найден!

Вот код, который делает эту ошибку:

#include "Wire.h"

Вот ошибка:

fatal error: Wire.h: No such file or directory
 #include "Wire.h"
                  ^
compilation terminated.
Error compiling.

Я также не могу включить какой-либо файл из папки Arduino \ libraries. Я попытался переустановить IDE несколько раз в разных местах, но ничего не произошло. Почему это происходит?

EDIT: через некоторое время я обнаружил, что эта ошибка возникает только в заголовочных файлах, а не в скетчах!

, 👍7

Обсуждение

Не могли бы вы уточнить немного больше о вашей настройке IDE и полных путях к этим библиотекам, а также о том, есть ли у вас какие-либо дубликаты. Также каковы настройки, которые вы выбрали в меню Boards., @RSM

D:\Arduino\hardware\arduino\avr\libraries\Wire\Wire .h И я выбрал Arduino Uno COM3, @None

Есть ли там заголовок библиотеки (я знаю, что это очевидный вопрос). Именно туда должна смотреть система arduino при выборе UNO, @RSM

да он там есть, @None

попробуйте жестко связать его с точным путем в макросе #include. Кроме того, какую версию IDE вы используете?, @RSM

моя версия 1.6.3, @None

Измените его с #include "Wire.h" на #include<Wire.h>, @Majenko

Я все еще получаю ту же ошибку, @None

Удалите свою IDE. Удалить свой preferences.txt файл. Скачать и установить 1.6.9, @Majenko


4 ответа


0

Сначала перейдите в папку библиотеки и проверьте, включил ли u этот заголовочный файл Wire.h или нет.Если нет, то сначала включите этот файл, тогда проблема будет решена автоматически.

,

Строка, которая вызывает проблему в операторе include, по вашему мнению, исправит ее. Если это не то, что вы имеете в виду, пожалуйста, не могли бы вы уточнить свой ответ?, @Code Gorilla


4

Используйте #include <Wire.h>

Включение файлов в двойные кавычки (") сначала укажет на заголовки в текущем рабочем каталоге.

Edit: ... и нет ничего плохого в копировании заголовков в CWD, если вы их изменяете, но это, вероятно, не то, что вы хотите.

,

0

У меня была похожая проблема, и я нашел этот вопрос. Однако для меня решение другое.

У меня уже был #include <Wire.h>, однако компилятор сообщил мне, что он отсутствует. Оказалось, что я выбрал не ту плату из предыдущего проекта. Необходимо изменить на «Arduino Uno».

,

0

Я копирую сюда ответ с https://forum .arduino.cc/t/wire-h-no- such-file-or-directory-solved/297761, потому что у меня это сработало:

Недостаточно поставить "#include <Wire.h>" в исходном файле, в котором вы используете библиотеку. Кажется, вам также нужно поставить "#include <Wire.h>" в основном файле *.ino скетча, прежде чем его можно будет использовать в любых других файлах исходного кода.

,