Я делаю небольшой проект 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
Но это не работает, мне кажется, мне нужно добавить файлы заголовков другим способом?
'INC' не упоминается в Makefile вы публикуемую. Возможно, это , упомянутое в '/ usr/share/arduino/Arduino.mk', которое вы еще не разместили? Конечно, не нужно создавать символические ссылки, чтобы сообщить компилятору , где он должен искать заголовки, но вам нужно разместить файл make , где на самом деле установлены флаги компилятора и используются для , чтобы получить ответ без предположений. –
Вот Makefile: https://github.com/sudar/Arduino-Makefile/blob/master/Arduino.mk. Я полностью согласен, что это необходимо. Но, похоже, файл makefile Arduino не заботится о регулярных включенных каталогах. – gromit190
Здесь [файл README] (https://github.com/sudar/Arduino-Makefile/blob/master/README.md) файла Arduino-Makefile. Читайте там о ** Включая библиотеки ** и 'ARDUINO_SKETCHBOOK' –