Forum: Compiler & IDEs include und Atmel Studio 6


von Indi (Gast)


Lesenswert?

Hallo,
ganz sicher fange ich mir jetzt was ein. Gut möglich ist die Antwort 
relativ simpel...

Ich versuche vergebens eine "lib" in Atmel Studio einzubinden. Der 
Fehler nach dem Kompelieren ist immer der selbe" no file or directory"

Muss ich die ".h" dem linker noch geben?

Ich hätte erwartet er macht das alles selbst wenn ich die Dateien 
erzeuge...oder wo hagts ?

Gruß

von 2K (Gast)


Lesenswert?

Da stimmt wohl der Pfad nicht....

von Indi (Gast)


Lesenswert?

Die .h liegt im selben Ordner wie die haupt .cpp....

von Karl H. (kbuchegg)


Lesenswert?

Dann zeig mal deinen Code.

Du hast

* das C-File mit deinem Code auf einem Verzeichnis

* das Header-File (aus einer anderen Quelle) auf demselben Verzeichnis

* Wenn du von dieser anderen Quelle auch noch ein C-File hast, dann 
kopiere das ebenfalls auf dein Projektverzeichnis zu deinem C-File dazu

* Im AVR-Studio teilst du der Projektverwaltung mit, dass zu deinem 
Projekt gehören:
a) dein C-File (das ist da sowieso schon drinnen, wenn du das Projekt 
generierst)
b) das fremde C-File (das du zu deinem C-File aufs selbe Verzeichnis 
kopiert hast)
c) das fremde H-File (obwohl dieser Schritt technisch nicht notwendig 
ist, ist er trotzdem eine gute Idee).

* in deinem C-File hast du einen #include, der das Header File 
einbindet. Die Dateiangabe dieses Header Files schliesst du in "" ein 
und nicht in <>. <> benutzt du für System-Header, "" benutzt du für 
deine eigenen Header-Files.

Wenn diese Punkte erfüllt sind, dann wird auch AVR Studio das Projekt in 
seiner Gesamtheit zusammenbauen können.

: Bearbeitet durch User
von Indi (Gast)


Angehängte Dateien:

Lesenswert?

Also ich denke es passt alles , nur leider kommt immer wieder der selbe 
Fehler

von Indi (Gast)


Lesenswert?

Hier die Ausgabe "

Include Path 'C:\Users\Dominik\Documents\Arduino\libraries'
"C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-g++" -c -g 
-Os -w -fno-exceptions -ffunction-sections -fdata-sections 
-fno-threadsafe-statics -MMD -mmcu=atmega2560 -DF_CPU=16000000L 
-DARDUINO=164 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR -I"C:\Program 
Files (x86)\Arduino\hardware\arduino\avr\cores\arduino" -I"C:\Program 
Files (x86)\Arduino\hardware\arduino\avr\variants\mega" -I"C:\Program 
Files (x86)\Arduino\hardware\arduino\avr\libraries\SoftwareSerial" 
-I"C:\Program Files (x86)\Arduino\libraries" -I"C:\Program Files 
(x86)\Arduino\hardware\arduino\avr\libraries" -I"C:\Program Files 
(x86)\Visual Micro\Visual Micro for Arduino\Micro 
Platforms\default\debuggers" 
-I"C:\Users\Dominik\Documents\Arduino\libraries" 
"C:\Users\Dominik\AppData\Local\V.Micro\Arduino\Builds\Pool_Steuerung\me 
ga_atmega2560\MemoryFree.cpp"  -o 
"C:\Users\Dominik\AppData\Local\V.Micro\Arduino\Builds\Pool_Steuerung\me 
ga_atmega2560\MemoryFree.cpp.o"
"C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-g++" -c -g 
-Os -w -fno-exceptions -ffunction-sections -fdata-sections 
-fno-threadsafe-statics -MMD -mmcu=atmega2560 -DF_CPU=16000000L 
-DARDUINO=164 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR -I"C:\Program 
Files (x86)\Arduino\hardware\arduino\avr\cores\arduino" -I"C:\Program 
Files (x86)\Arduino\hardware\arduino\avr\variants\mega" -I"C:\Program 
Files (x86)\Arduino\hardware\arduino\avr\libraries\SoftwareSerial" 
-I"C:\Program Files (x86)\Arduino\libraries" -I"C:\Program Files 
(x86)\Arduino\hardware\arduino\avr\libraries" -I"C:\Program Files 
(x86)\Visual Micro\Visual Micro for Arduino\Micro 
Platforms\default\debuggers" 
-I"C:\Users\Dominik\Documents\Arduino\libraries" 
"C:\Users\Dominik\AppData\Local\V.Micro\Arduino\Builds\Pool_Steuerung\me 
ga_atmega2560\Metro.cpp"  -o 
"C:\Users\Dominik\AppData\Local\V.Micro\Arduino\Builds\Pool_Steuerung\me 
ga_atmega2560\Metro.cpp.o"
"C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-g++" -c -g 
-Os -w -fno-exceptions -ffunction-sections -fdata-sections 
-fno-threadsafe-statics -MMD -mmcu=atmega2560 -DF_CPU=16000000L 
-DARDUINO=164 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR -I"C:\Program 
Files (x86)\Arduino\hardware\arduino\avr\cores\arduino" -I"C:\Program 
Files (x86)\Arduino\hardware\arduino\avr\variants\mega" -I"C:\Program 
Files (x86)\Arduino\hardware\arduino\avr\libraries\SoftwareSerial" 
-I"C:\Program Files (x86)\Arduino\libraries" -I"C:\Program Files 
(x86)\Arduino\hardware\arduino\avr\libraries" -I"C:\Program Files 
(x86)\Visual Micro\Visual Micro for Arduino\Micro 
Platforms\default\debuggers" 
-I"C:\Users\Dominik\Documents\Arduino\libraries" 
"C:\Users\Dominik\AppData\Local\V.Micro\Arduino\Builds\Pool_Steuerung\me 
ga_atmega2560\Pool_Steuerung.cpp"  -o 
"C:\Users\Dominik\AppData\Local\V.Micro\Arduino\Builds\Pool_Steuerung\me 
ga_atmega2560\Pool_Steuerung.cpp.o"
Pool_Steuerung.ino:6:19: fatal error: Metro.h: No such file or directory
Error compiling

Include Path 'C:\Users\Dominik\Documents\Arduino\libraries'
"C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-g++" -c -g 
-Os -w -fno-exceptions -ffunction-sections -fdata-sections 
-fno-threadsafe-statics -MMD -mmcu=atmega2560 -DF_CPU=16000000L 
-DARDUINO=164 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR -I"C:\Program 
Files (x86)\Arduino\hardware\arduino\avr\cores\arduino" -I"C:\Program 
Files (x86)\Arduino\hardware\arduino\avr\variants\mega" -I"C:\Program 
Files (x86)\Arduino\hardware\arduino\avr\libraries\SoftwareSerial" 
-I"C:\Program Files (x86)\Arduino\libraries" -I"C:\Program Files 
(x86)\Arduino\hardware\arduino\avr\libraries" -I"C:\Program Files 
(x86)\Visual Micro\Visual Micro for Arduino\Micro 
Platforms\default\debuggers" 
-I"C:\Users\Dominik\Documents\Arduino\libraries" 
"C:\Users\Dominik\AppData\Local\V.Micro\Arduino\Builds\Pool_Steuerung\me 
ga_atmega2560\MemoryFree.cpp"  -o 
"C:\Users\Dominik\AppData\Local\V.Micro\Arduino\Builds\Pool_Steuerung\me 
ga_atmega2560\MemoryFree.cpp.o"
"C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-g++" -c -g 
-Os -w -fno-exceptions -ffunction-sections -fdata-sections 
-fno-threadsafe-statics -MMD -mmcu=atmega2560 -DF_CPU=16000000L 
-DARDUINO=164 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR -I"C:\Program 
Files (x86)\Arduino\hardware\arduino\avr\cores\arduino" -I"C:\Program 
Files (x86)\Arduino\hardware\arduino\avr\variants\mega" -I"C:\Program 
Files (x86)\Arduino\hardware\arduino\avr\libraries\SoftwareSerial" 
-I"C:\Program Files (x86)\Arduino\libraries" -I"C:\Program Files 
(x86)\Arduino\hardware\arduino\avr\libraries" -I"C:\Program Files 
(x86)\Visual Micro\Visual Micro for Arduino\Micro 
Platforms\default\debuggers" 
-I"C:\Users\Dominik\Documents\Arduino\libraries" 
"C:\Users\Dominik\AppData\Local\V.Micro\Arduino\Builds\Pool_Steuerung\me 
ga_atmega2560\Metro.cpp"  -o 
"C:\Users\Dominik\AppData\Local\V.Micro\Arduino\Builds\Pool_Steuerung\me 
ga_atmega2560\Metro.cpp.o"
"C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-g++" -c -g 
-Os -w -fno-exceptions -ffunction-sections -fdata-sections 
-fno-threadsafe-statics -MMD -mmcu=atmega2560 -DF_CPU=16000000L 
-DARDUINO=164 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR -I"C:\Program 
Files (x86)\Arduino\hardware\arduino\avr\cores\arduino" -I"C:\Program 
Files (x86)\Arduino\hardware\arduino\avr\variants\mega" -I"C:\Program 
Files (x86)\Arduino\hardware\arduino\avr\libraries\SoftwareSerial" 
-I"C:\Program Files (x86)\Arduino\libraries" -I"C:\Program Files 
(x86)\Arduino\hardware\arduino\avr\libraries" -I"C:\Program Files 
(x86)\Visual Micro\Visual Micro for Arduino\Micro 
Platforms\default\debuggers" 
-I"C:\Users\Dominik\Documents\Arduino\libraries" 
"C:\Users\Dominik\AppData\Local\V.Micro\Arduino\Builds\Pool_Steuerung\me 
ga_atmega2560\Pool_Steuerung.cpp"  -o 
"C:\Users\Dominik\AppData\Local\V.Micro\Arduino\Builds\Pool_Steuerung\me 
ga_atmega2560\Pool_Steuerung.cpp.o"
Pool_Steuerung.ino:6:19: fatal error: Metro.h: No such file or directory
Error compiling

von Karl H. (kbuchegg)


Lesenswert?

Sieh dir die Ausgabe mal genau an
1
C:\Users\Dominik\AppData\Local\V.Micro\Arduino\Builds\Pool_Steuerung\mega_atmega2560\Pool_Steuerung.cpp

achte auf den Pfad!
Da kommt noch ein "mega_atmega2560" im Pfad vor


Laut deinem Screenshot befindet sich die Metro.h aber auf
1
C:\Users\Dominik\AppData\Local\V.Micro\Arduino\Builds\Pool_Steuerung\Pool_Steuerung

also eien Ebene höher und dann dort im Subverzeichnis Pool_Steuerung

Logisch kriegst du da einen Fehler. Metro.h liegt nun mal nicht im 
selben Verzeichnis wie die Pool_Steuerung.cpp

(Ist es eigentlich wirklich so schwer, mit dem Explorer zu 
kontrollieren, wo denn die Files jetzt genau liegen?
So richtig wundern tut mich das ganze schon lange nicht mehr. Ein jeder 
baut sich da immer die Projekte in einem Pfad mit einem elends langen 
Pfadnamen und verliert dann den Überblock wo eigentlich was liegt. Die 
schiere Buchstabenlänge des Namens tut dann noch ihr übriges. Was wäre 
falsch daran, sich ganz einfach ein Verzeichnis "C:\Projekte" zu machen 
und dort dann alle Projekte abzuwickeln? Richtig? Es wäre viel zu 
einfach, wenn man Namen hätte, die man auch noch überblicken kann)

: Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.