Из-за чего компиллятор может не кушать библиотеки?
- Войдите на сайт для отправки комментариев
при попытке компилляции выдаётся такое сообщение
"Arduino: 1.6.9 (Windows 8.1), Плата:"Arduino/Genuino Uno"
In file included from C:\Users\Oleg\Desktop\board\KeyboardAndMouseControl\KeyboardAndMouseControl.ino:2:0:
sketch\Keyboard.h:29:2: warning: #warning "Using legacy HID core (non pluggable)" [-Wcpp]
#warning "Using legacy HID core (non pluggable)"
^
C:\Users\Oleg\Desktop\board\KeyboardAndMouseControl\KeyboardAndMouseControl.ino: In function 'void setup()':
KeyboardAndMouseControl:20: error: 'Клавиатура' не найдена. Убедитесь входит ли скетч в код '#include <Keyboard.h>'?
Keyboard.begin();
^
C:\Users\Oleg\Desktop\board\KeyboardAndMouseControl\KeyboardAndMouseControl.ino: In function 'void loop()':
KeyboardAndMouseControl:25: error: 'Клавиатура' не найдена. Убедитесь входит ли скетч в код '#include <Keyboard.h>'?
Keyboard.press('m');
^
exit status 1
'Клавиатура' не найдена. Убедитесь входит ли скетч в код '#include <Keyboard.h>'?
Этот отчёт будет иметь больше информации с
включенной опцией Файл -> Настройки ->
"Показать подробный вывод во время компиляции"
"
вопрос. из-за чего так? предустановленные библиотеки.. и кусок кода из примера.
или библиотеки не для всех проектов подходят? или что ещё?
ардуинка уно р3. впервые решил поиграться с демонстрационной платой.
раньше юзал CodeVisionAVR для создания проектов
Убедитесь входит ли в скетч код #include <Keyboard.h>
Вам же написали. Проблема с пониманием?
эмм.. ты хочешь сказать, что кроме #include <Keyboard.h> в начале файла что-то ещё должно быть? да взят же за основу пример.. но пример не захотел компиллироваться... и я не понимаю, в чём прикол.
тут синтаксис чутка отличается от привычного, но я не заметил ни в описании библиотеки, ни в само файле ничего такого, из-за чего в нормальной ситуации оно бы могло не захотеть компиллироваться
и да, при цитировании ты чутка изменил текст... там просили проверить, входит ли скетч В код самой библиотеки
Там просто тупой перевод на русский, вот и всё. Ты хочешь сказать, что стандартный пример не компилируется, так? Плата выбрана правильно? Вижу, что нет:
The keyboard functions enable a Leonardo, Micro, or Due
А у тебя:
Плата:"Arduino/Genuino Uno"
Вопросы?
З.Ы. Для просветления: https://www.arduino.cc/en/Reference/MouseKeyboard
ну да.. но при компилляции же плата не обязана быть подключена к системнику... или тут всё хитрожопошнее?
ну да.. но при компилляции же плата не обязана быть подключена к системнику... или тут всё хитрожопошнее?
Ну конечно, щас. Ты когда выбираешь тип платы - ты таким образом говоришь препроцессору и компилятору, что у такой-то платы - такие-то настройки. При этом сама железка может быть и не подключена к компу, но плату ты выбрать правильно обязан. Странно было бы ожидать обратного.
обвес и функционал сложновато назвать настроками... да и если бы я выбрал плату неправильно.. проект то всё равно должен бы был скомпиллироваться... разве что он не смог нормально пойти на моей плате, да и всё...
но проект даже компиллироваться не захотел...
обвес и функционал сложновато назвать настроками... да и если бы я выбрал плату неправильно.. проект то всё равно должен бы был скомпиллироваться... разве что он не смог нормально пойти на моей плате, да и всё...
но проект даже компиллироваться не захотел...
При чём тут обвес и функционал? Ты понимаешь, что физически железки разные? Кол-во ног, таймеров, распиновка и т.п.? Как компилятор будет понимать, что у железки сто тыщ ног, а не десяток? Для этого ему надо дать понять, под какую железку ты планируешь скомпилировать проект. Таким указанием является выбор платы в Arduino IDE. После этого компилятор понимает, что у такой-то железки есть пин A10, например (это для Меги, если выбрать плату Уно и попробовать поюзать пин A10 - то проект не скомпилируется, странно, правда? Особенно если учесть, что у Uno физически нет такого отверстия, куда можно было бы дунуть той травы, которую ты куришь).
Компилятор - не экстрасенс.
в этом я не совсем нуб.. и хотел сказать, что настройки будут не у платы, а у компиллятора... и всё равно... это никак не объясняет то, что он не захотел компилить проект. ну выбрана не та плата... если у микроконтроллера есть интерфейс юсбишный, то проект уж должен был скомпилироваться...
если же там идёт преобразование одного интерфейса в другой - всё так просто, скорее всего, не будет... хотя.. даже описние на микроконтроллер не смотрел...
но эта ошибка при компилляции смутила...
Блин. Ну вот смотри: у каждой железки свои фичи. Чтобы скомпилировать HEX (прошивку), учитывающую эти фичи - надо знать, под какие фичи мы её компилируем, согласен? КАК компилятор узнает, под какую железку собирать проект? Ему кто на ухо нашепчет?
Если ты не совсем нуб - вот тебе аналогия: когда в Visual Studio ты выбираешь "Console project application" - у тебя ВНЕЗАПНО не появятся окошки, проект будет консольным. Потому что ты указал компилятору - хочу консольный проект. Тут - такая же шляпа.
Блин. Ну вот смотри: у каждой железки свои фичи. Чтобы скомпилировать HEX (прошивку), учитывающую эти фичи - надо знать, под какие фичи мы её компилируем, согласен? КАК компилятор узнает, под какую железку собирать проект? Ему кто на ухо нашепчет?
Если ты не совсем нуб - вот тебе аналогия: когда в Visual Studio ты выбираешь "Console project application" - у тебя ВНЕЗАПНО не появятся окошки, проект будет консольным. Потому что ты указал компилятору - хочу консольный проект. Тут - такая же шляпа.
блин... суть же в другом... проект не компиллируется, хотя в инете полно проектов именно для этой платы даже.. по реализации хид устройств. я выбрал свою уно.. и не хочет он компиллироваться..
ради прикола выбрал леонард - и почему-то проект сразу же скомпиллировался.
так вот... чего именно не нравится компиллятору у уно р3 ? что именно должно означать то сообщение об ошибке?
а на счёт твоего примера... проект же всё равно бы скомпилился.. только не такой, какой нужно. а тут - ошибка
Прекращай курить траву! Я тебе сразу сказал, что под Uno проект не скомпилируется. Если ты этого понять не способен - адью. Я тебе даже ссылку приводил, видимо, зря.
странно, именно то сообщение у меня не отобразилось, когда я читал, пасиб
а не посоветуешь библиотеки для эмуляции хид устройств под уно?
на этой плате контроллер юсб внешний... вот жеж продавцы в чипидипе... просил же платку со встроенным контроллером в центральный мк...
извиняюсь за создание темы и свою тормознутость
и да, DIYMan... редактировать сообщения не есть хорошо. редактирование сообщения слишком легко пропустить, что я и сделал... из-за чего не мог допереть, о чём именно ты говоришь
и да, никому не советую посещать чипидип.. консультанты там не всегда дают точную инфу, так ещё и цены завышены многократно
и да, DIYMan... редактировать сообщения не есть хорошо.
Я понял - это вместо "спасибо". Всегда пожалуйста, обращайся ещё.
и да, DIYMan... редактировать сообщения не есть хорошо.
Я понял - это вместо "спасибо". Всегда пожалуйста, обращайся ещё.
спасибо было чуть выше. а это сообщение лишь просило не использовать редактирование дабы избежать недопонимания вследствие пропущенной информации. а это не несёт же приятных эмоций ни одной из сторон диалога.
спасибо было чуть выше. а это сообщение лишь просило не использовать редактирование дабы избежать недопонимания вследствие пропущенной информации. а это не несёт же приятных эмоций ни одной из сторон диалога.
Я же не виноват, что ты быстрый как детская неожиданность: пост отредактировался буквально в течение пары минут после отправки, пока я ссылку тебе добывал.
А что делать если плата обозначена но все равно выдает такую ошибку даже если библиотека указана?
А что делать если плата обозначена но все равно выдает такую ошибку даже если библиотека указана?
Такую - это какую?
Пишет что «клавиатура» не найдена, проверьте наличие “keyboard.h” в коде.
но в коде она есть
Плата правильно выбрана?