include und Atmel Studio 6

Gast #4200322
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
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
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
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

Eine eigene Frage? Dieser Thread ist über 11 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.