ошибка компиляции скетча ArduCopter
- Войдите на сайт для отправки комментариев
Добрый день. Пытаюсь собрать скетч для Arducopter (полетный контроллер на базе ардуино).
Скетч то я написал, но вот с компиляцией проблемы следующего вида:
в целом, я понимаю, что проблема в параметрах к компилятору avr-g++, а именно неккоректно или неполностью скармливаются ему пути, по которым нужно искать библиотеки для подключения. отвечает за это параметр -I и передается туда и правда что то совсем левое:
-ID:\ard\ArduPilot-Arduino-1.0.3-windows\libraries\Wire
Писал в кастомной Arduino IDE для Arducopter вот отсюда
ошибка не в моем скетче, а в одной из подключаемых библиотек. Таких ошибок было много, но часть убрал переносом библиотек в папку со скетчем (да, не очень решение). Таким образом, директивы типа #include "some_lib" смогли отработать без проблем, но вот директивы типа #include <some_lib> - не работают, так как компилятор ищет файлы в настроенных путях.
Вопрос, собственно, в том, как поменять или подправить параметры для компилятора в Arduino IDE? Может там есть файл с настройками какой?
Файлы new.h и Printable.h у меня нашлись тут:
C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino
где они лежат я и так знаю. тут проблема в том, как компилятору сказать где он лежит?
где они лежат я и так знаю. тут проблема в том, как компилятору сказать где он лежит?
ну так положите и эти файлы в каталог скетча, насколько я помню, в текущем каталоге Ардуина ищет в любом случае.
А если нет - дополнительно поменяйте #include <Lib> на #include "lib"
во всех файлах библиотеки? нет... с компилятором или иде что то делать надо. мне и так вариант, что я подкинул почти все файлы к скетчу не нравится. к тому же его потом компилить будут и на других компьютерах
Может есть какой то другой способ собирать прошивки под ардукоптер? может вручную как компилятором пользоваться? знает кто? сталкивался?
у меня всё компилировалось, имя юзера под виндами небось русское?
Нет) вообще цифрами. а вы именно под ардукоптер или под ардупайлот собирали?
Возьмите вместо "кастомной" обычную ардуино ИДЕ
Не получится, так как работаю с ардупайлот (точнее, с ардукоптер) это не чистая ардуино. Она на базе платы ATMEGA 2560, если мне не изменяет память, но все же с модификациями и кучей своих библиотек, которые. по идее, должны упростить работу... самому все те функции прописывать точно не очень хочется
а папка временных файлов где лежит? я всегда от корня делаю C:\Temp
сделайте от корня
это не чистая ардуино. Она на базе платы ATMEGA 2560, если мне не изменяет память, но все же с модификациями и кучей своих библиотек
ну если оно эту "кучу своих библиотек" видит - что мешает положить туда же этот проблемный файл? - раз библиотеки находятся. значит пути прописаны верно.
ИМХО, вы сами себя в угол загнали - класть в папку скетча не хотите(это некрасиво :), include править отказываетесь, ардуино ИДЕ менять тоже... Вам проблему надо решить или нет? решите ее сначала "некрасиво". а потом будете искать "самый правильный путь"
сделайте от корня
Подскажите как это сделать?
это не чистая ардуино. Она на базе платы ATMEGA 2560, если мне не изменяет память, но все же с модификациями и кучей своих библиотек
ну если оно эту "кучу своих библиотек" видит - что мешает положить туда же этот проблемный файл? - раз библиотеки находятся. значит пути прописаны верно.
ИМХО, вы сами себя в угол загнали - класть в папку скетча не хотите(это некрасиво :), include править отказываетесь, ардуино ИДЕ менять тоже... Вам проблему надо решить или нет? решите ее сначала "некрасиво". а потом будете искать "самый правильный путь"
в том то и проблема - не видит... в настройках можно только указать путь до скетчбука - его указал, но в выводе в консоли при проверке пути к библиотекам компилятору скармливаются неккоректные.
фана ради и уже от безысходности поправил и перетащил все файлы как надо (без малого, около 50 штук вручную правил). Не собралось... но ошибку дало иную -
Подскажите как это сделать?
оу.. использует стандартные пути - не знал. Думал у иде свой параметр где то есть
фана ради и уже от безысходности поправил и перетащил все файлы как надо (без малого, около 50 штук вручную правил). Не собралось... но ошибку дало иную -
поздравляю, теперь оно у вас не видит стандартных библиотек...
По-моему. вы изначально что-то криво поставили. Найдите чистую винду и поставьте сборку Ардупилота с нля. как описано на сайте, ничего не меняя
удивительно, но это помогло почему то...
Но теперь по прежнему ругается на Serial
А стандартные скетчи из ардупайлот по прежнему не собираются... странно очень
По-моему. вы изначально что-то криво поставили. Найдите чистую винду и поставьте сборку Ардупилота с нля. как описано на сайте, ничего не меняя
на каждый чих винду переставлять? я на своём лет 12-15 назад XP поставил )))
фана ради и уже от безысходности поправил и перетащил все файлы как надо (без малого, около 50 штук вручную правил). Не собралось... но ошибку дало иную -
поздравляю, теперь оно у вас не видит стандартных библиотек...
По-моему. вы изначально что-то криво поставили. Найдите чистую винду и поставьте сборку Ардупилота с нля. как описано на сайте, ничего не меняя
ничего я криво не ставил. тут еще вариант, что я не все перетащил к скетчу - стандартные остались за бортом. а все потому, что копал не компилятор, а как вы советовали начал лазить и менять библиотечки
ладно... если ничего не придет путного в голвоу - попробую на cygwin собрать.
Просто в вики разрабов приводится пример как компилиить готовые прошивки, написанные ими же. А там и make-файлы уже собраны. А мне нужен немного иной функционал. Думал, через кастомную иде проще будет писать и собирать скетчи.
ладно... если ничего не придет путного в голвоу - попробую на cygwin собрать.
Просто в вики разрабов приводится пример как компилиить готовые прошивки, написанные ими же. А там и make-файлы уже собраны. А мне нужен немного иной функционал. Думал, через кастомную иде проще будет писать и собирать скетчи.
ну скиньте куда, на этом компе нет, попробую ваш проект скомпилировать, только адру неправленную тоже, начинать надо с этого
ладно... если ничего не придет путного в голвоу - попробую на cygwin собрать.
Просто в вики разрабов приводится пример как компилиить готовые прошивки, написанные ими же. А там и make-файлы уже собраны. А мне нужен немного иной функционал. Думал, через кастомную иде проще будет писать и собирать скетчи.
ну скиньте куда, на этом компе нет, попробую ваш проект скомпилировать, только адру неправленную тоже, начинать надо с этого
сам скетч
а это инструкция с установкой IDE + библиотек
Это не скетч, а огрызок, все файлы должны быть в папке скетча, все, полный комплект, а уже там выбираете и меняете нужный вам файл
Не совсем понял. Остальные файлы - это непосредственно стандартная библиотека ардуино + то, что было в скетчбуке ардупайлот. Зачем их в папку со скетчем?
а как оно тебе скомпилируется, весь проект должен быть в папке
для этого и есть параметры компилятора - там в параметрах пути и указываются. Можно пример на основе огрызка скетча, какой еще файл должен лежать рядом с ним?
хмм.. попробовал через cygwin + eclipse + ardupilot. в целом, получилось. Но этот способ не поддерживает платы APM.
может еще у кого мысли есть? плат АРМ много еще осталось, кто нибдуь тоже может в будущем захотеть приспособить их под свои нужды и напорется на ту же проблему, что и у меня
хмм.. попробовал через cygwin + eclipse + ardupilot. в целом, получилось. Но этот способ не поддерживает платы APM.
может еще у кого мысли есть? плат АРМ много еще осталось, кто нибдуь тоже может в будущем захотеть приспособить их под свои нужды и напорется на ту же проблему, что и у меня
там обычная 2560 если apm 2.5 -2.8