Откуда Arduino IDE берет инклуды?

michael_il
Offline
Зарегистрирован: 25.08.2015
Насколько я понимаю, Arduino IDE должен по умолчанию брать include из своей родной директории, например:
arduino-1.6.5-r2/hardware/tools/avr/avr/include/avr
Но этого почему-то не происходит. 
 
#include <avr/interrupt.h>
#include <avr/io.h>
 
Получаю ошибку на второй инклуд, хотя файл  io.h присутствует в tools/avr/avr/include/avr
Указание абсолютного пути тоже не помогает, потому что внутри io.h есть другие инклуды в треугольных скобках, которые оболочка тоже не находит.
 
В этой же родной директории я изменил имя файла interrupt.h, но ошибки не было, то есть, оболочка находит его где-то в другом месте. 
 
Подскажите пожалуйста, где в IDE прописаны пути, или как явно указать, что искать надо в tools/avr/avr/include/avr ?
Благодарю
 
ario
Offline
Зарегистрирован: 24.08.2015

я положил в  папку лайбрариз и вызываюбез указания папки

michael_il
Offline
Зарегистрирован: 25.08.2015

Не получится

michael_il пишет:
внутри io.h есть другие инклуды в треугольных скобках, которые оболочка тоже не находит.

kisoft
kisoft аватар
Offline
Зарегистрирован: 13.11.2012

Не помню случаев, чтобы нужно было менять пути к системным хидерам, проблема скорее всего не в этом, посмотрю

michael_il
Offline
Зарегистрирован: 25.08.2015

Заранее благодарю

Гугл мне пока ничего не подсказал. Тоже поищу

kisoft
kisoft аватар
Offline
Зарегистрирован: 13.11.2012

У меня всё компилируется без проблем, v1.6.5-r2, Windows 10 x64. Добавлял в пустой скетч Ваши две строки.

Я бы не лазил в системных каталогах (я про игры с interrupt.h и вообще).

Для начала, возможно, переустановка поможет. Пути без пробелов и русских символов.

Либо долгий и, скорей всего, беуспешный путь, начать с того, какая ОСь, пути к скетчам, к ArduinoIDE и т.п.

 

michael_il
Offline
Зарегистрирован: 25.08.2015

Скачал заново и переустановил на другой диск (С вместо D). Путь по умолчанию. Никаких русских букв и пробелов. 

Открыл пустой тестовый проект

Увы, та же петрушка:

Arduino: 1.6.5 (Windows 7), Board: "Arduino Due (Programming Port)"
 
test_prj.ino:2:20: fatal error: avr/io.h: No such file or directory
compilation terminated.
Error compiling.
 
michael_il
Offline
Зарегистрирован: 25.08.2015

Система Win7 32 бита

На машине установлены Visual Studio 2008 и WinAVR

Чудеса какие-то

kisoft
kisoft аватар
Offline
Зарегистрирован: 13.11.2012

michael_il пишет:

Arduino: 1.6.5 (Windows 7), Board: "Arduino Due (Programming Port)"

Смешно. Скорее грустно. Нужно было сразу говорить, что это Due, а не Uno или типа того.

Там, во-первых, другой компилятор (arm, а не avr), соответственно хидеры и библиотеки другие.

Представьте себе, как можно использовать детали от жигулей на феррари? Да никак.

У меня компилятор для arm установился в каталог C:\Users\<myname>\Application Data\Arduino15\packages.

Поэтому можно сколько угодно менять хидеры для AVR, ARMу это по барабану.

 

michael_il
Offline
Зарегистрирован: 25.08.2015

Действительно грустно.

Признаю свой глюк. Не сообразил