2016-07-16 4 views
0

Я делаю небольшой проект Arduino. Официальная среда Arduino действительно ужасна, поэтому я использую Netbeans для разработки вместо этого. Это мой Makefile:Как включить каталоги при создании программного обеспечения Arduino

OBJDIR   = ../build 

ARDUINO_DIR = /usr/share/arduino 

TARGET  = main 

MCU  = atmega328p 

F_CPU  = 16000000 

ARDUINO_PORT = /dev/ttyACM0 
AVRDUDE_ARD_PROGRAMMER = arduino 
AVRDUDE_ARD_BAUDRATE = 115200 

include /usr/share/arduino/Arduino.mk 

Я хочу использовать некоторые заголовки, расположенные в /usr/local/include/myproject, поэтому в исходном коде добавить:

#include "myproject/someheader.h" 

Теперь, когда я пытаюсь скомпилировать проект, я получаю ошибка

fatal error: myproject/someheader.h: No such file or directory 

Как я могу включить каталог/usr/local/include при создании проекта? Обычно я бы добавил

INC=-I/usr/local/include 

Но это не работает, мне кажется, мне нужно добавить файлы заголовков другим способом?

+0

'INC' не упоминается в Makefile вы публикуемую. Возможно, это , упомянутое в '/ usr/share/arduino/Arduino.mk', которое вы еще не разместили? Конечно, не нужно создавать символические ссылки, чтобы сообщить компилятору , где он должен искать заголовки, но вам нужно разместить файл make , где на самом деле установлены флаги компилятора и используются для , чтобы получить ответ без предположений. –

+0

Вот Makefile: https://github.com/sudar/Arduino-Makefile/blob/master/Arduino.mk. Я полностью согласен, что это необходимо. Но, похоже, файл makefile Arduino не заботится о регулярных включенных каталогах. – gromit190

+0

Здесь [файл README] (https://github.com/sudar/Arduino-Makefile/blob/master/README.md) файла Arduino-Makefile. Читайте там о ** Включая библиотеки ** и 'ARDUINO_SKETCHBOOK' –

ответ

0

Законченное добавления символической ссылки из Arduino каталога в месте моей библиотеки:

ln -s /usr/local/include /usr/share/arduino/libraries/Custom 

Затем я добавил «Custom», «библиотека» в Arduino Makefile, мой Makefile теперь:

OBJDIR   = ../build 

ARDUINO_DIR = /usr/share/arduino 

TARGET  = main 

MCU  = atmega328p 

F_CPU  = 16000000 

ARDUINO_PORT = /dev/ttyACM0 
AVRDUDE_ARD_PROGRAMMER = arduino 
AVRDUDE_ARD_BAUDRATE = 115200 
ARDUINO_LIBS = Custom # <---- ! 

include /usr/share/arduino/Arduino.mk 

процесс билд, кажется, чтобы получить мои файлы заголовков Теперь

Смежные вопросы