2016-07-16 12 views
0

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?

+0

'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. –

+0

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

+0

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' –

Antwort

0

an den Ort meiner Bibliothek einen symbolischen Link von dem Arduino-Verzeichnis hinzugefügt Ended up:

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

Dann habe ich die „Custom“ „Bibliothek“ auf die Arduino Make-Datei hinzugefügt, meine Make-Datei jetzt:

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 

die Build-Prozess scheint Dateien meiner Header jetzt in der Make-Datei