Ich mache ein kleines Arduino-Projekt. Die offizielle Arduino-IDE ist wirklich schrecklich, also verwende ich Netbeans, um stattdessen zu entwickeln. Das ist mein Make-Datei:Wie Verzeichnisse beim Erstellen von Arduino-Software enthalten
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
Ich möchte einige Header in /usr/local/include/myproject
sich verwenden, so im Quellcode ich hinzufügen:
#include "myproject/someheader.h"
Nun, wenn ich versuche, das Projekt zu kompilieren, erhalte ich eine Fehlermeldung
fatal error: myproject/someheader.h: No such file or directory
Wie kann ich das Verzeichnis/usr/local/include beim Erstellen des Projekts einschließen? Normalerweise würde ich hinzufügen
INC=-I/usr/local/include
Aber das funktioniert nicht, ich denke, ich muss die Header-Dateien auf andere Weise hinzufügen?
'INC' nicht Sie geschrieben haben erwähnt, zu erhalten. Vielleicht ist es erwähnt in der '/ usr/share/arduino/Arduino.mk', dass Sie nicht gepostet haben? Es ist sicherlich unnötig, Symlinks zu erstellen, die dem Compiler mitteilen, wo er nach Headern suchen soll, aber Sie müssen das Makefile dort posten, wo die Compiler-Flags tatsächlich gesetzt sind und eine nicht-rate-Antwort erhalten. –
Hier ist das Makefile: https://github.com/sudar/Arduino-Makefile/blob/master/Arduino.mk. Ich stimme völlig zu, dass es notwendig ist. Aber es scheint, das Arduino Makefile kümmert sich nicht um die regulären Include-Verzeichnisse. – gromit190
Hier ist [die README-Datei] (https://github.com/sudar/Arduino-Makefile/blob/master/README.md) von Arduino-Makefile. Lesen Sie dort über ** Einschließlich Bibliotheken ** und 'ARDUINO_SKETCHBOOK' –