include und Atmel Studio 6

Gast #4200322
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ß
#4200345
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.
Gast #4203765
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
#4205538
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)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren