- fchao-Sinus-Wechselrichter AliExpress         
Ergebnis 1 bis 9 von 9

Thema: Probleme mit dem Makefile

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Fleißiges Mitglied Avatar von Filou89
    Registriert seit
    24.12.2010
    Ort
    Thun, Switzerland
    Alter
    35
    Beiträge
    116
    @Dirk
    Tut mir leid. Das Foto, das ich hochgeladen habe, führt nur zu verwirrung, da es nicht alles zeigt! Das ist mein Fehler!
    hier nun das Foto, das die ganze Wahrheit zeigt:
    Klicke auf die Grafik für eine größere Ansicht

Name:	Ordnerstruktur.jpg
Hits:	6
Größe:	29,1 KB
ID:	20259

    könnte es sein, dass mit der Definition in den Header-Dateien etwas nicht stimmt?
    Mein Header File beginnt so:
    Code:
    #ifndef AT90LIB_H
    #define AT90LIB_H
    
    
    #include (...)
    (...)
    #endif
    Wenn ich im Makefile nämlich den Pfad absichtlich falsch mache, also AT90_LIB_PATH = ../../../AT90Lib oder ebenfalls bei AT90_LIB_PATH = ../AT90Lib git es diese Meldung:

    Code:
    > "make.exe" all
    
    -------- begin --------
    avr-gcc (WinAVR 20100110) 4.3.3
    Copyright (C) 2008 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions.  There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
    
    make.exe: *** No rule to make target `LedAndButton.elf', needed by `elf'.  Stop.
    
    > Process Exit Code: 2
    > Time Taken: 00:01
    Grüsse und guten Start in die neue Woche
    Filou

  2. #2
    Erfahrener Benutzer Roboter Experte Avatar von sternst
    Registriert seit
    07.07.2008
    Beiträge
    672
    Wie soll der Compiler die Header-Datei in AT90_LIB_PATH auch finden, wenn du ihm überhaupt nicht mitteilst, dass er dort auch suchen soll.
    MfG
    Stefan

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied Avatar von Filou89
    Registriert seit
    24.12.2010
    Ort
    Thun, Switzerland
    Alter
    35
    Beiträge
    116
    Hallo Stefan,
    Reicht diese zeile nicht aus?
    Code:
     SRC += $(AT90_LIB_PATH)/AT90base/AT90Lib.c
    Wie würdest du es denn schreiben? Ich kenne mich mit den Makefiles nicht sonderbar gut aus.
    Danke für die Hilfe,
    Filou

  4. #4
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    62
    Beiträge
    5.799
    Blog-Einträge
    8
    Hallo

    Gleich vorweg: Mit Makefiles kenne ich mich leider auch nicht aus.

    Wenn "DDRD" nicht gefunden wird, dann wurde io.h, und damit auch die kontrollerspezifische Beschreibung der Hardware ioxxx.h, nicht eingebunden. Möglicherweise stimmt der Kontrollertyp nicht in "-mmcu=at90usb1287"

    In meiner Installation (unter C:\WinAVR\avr\include\avr) befindet sich eine Datei Namens "iousb1287.h", richtiger Kontroller, aber ohne "90". Vielleicht muss man die in "io90usb1287.h" umbenennen?

    Oder der Kontroller hat gar keinen Port D ...

    Zu: "LedAndButton.c:26: error: expected ';' before 'SET_BIT4'"

    Irgendwo kurz vor oder in der Set_Bit/Clear_Bit-Geschichte fehlt ein ";".


    Gruß

    mic
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  5. #5
    Erfahrener Benutzer Fleißiges Mitglied Avatar von Filou89
    Registriert seit
    24.12.2010
    Ort
    Thun, Switzerland
    Alter
    35
    Beiträge
    116
    Hallo radbruch,
    so wie ich das einschätze, kann das alles leider nicht sein. Wenn ich nämlich die selbstgemachten Lib's im gleichen Verzeichnis wie die LedAndButton.c Datei abspeichere, wird das Programm Ohne Fehlermeldung erstellt.
    Die ";" Warnung kommt, weil die vorangehende Definition nicht gefunden wurde.
    Ich kann sonst mal versuchen, das ganze Projekt hochzuladen, dann können alle üben. Dauert aber bis zum Abend.
    MfG
    Filou

  6. #6
    Erfahrener Benutzer Roboter Experte Avatar von sternst
    Registriert seit
    07.07.2008
    Beiträge
    672
    Zitat Zitat von Filou89 Beitrag anzeigen
    Reicht diese zeile nicht aus?
    Code:
     SRC += $(AT90_LIB_PATH)/AT90base/AT90Lib.c
    Nein. Du hast den Fehler, weil er beim Übersetzen von LedAndButton.c den Header AT90Lib.h nicht findet. Dass es noch eine weitere Source-Datei gibt, die in einem anderen Ordner liegt, interressiert den Compiler beim Übersetzen von LedAndButton.c nicht die Bohne. Es interessiert ihn nicht nur nicht, er weiß es auch gar nicht. Jede Source-Datei wird separat und unabhängig von den anderen übersetzt.

    Zitat Zitat von Filou89 Beitrag anzeigen
    Wie würdest du es denn schreiben? Ich kenne mich mit den Makefiles nicht sonderbar gut aus.
    Es gibt in deinem Makefile bereits eine vorbereitete Variable für deinen Fall. Du musst es nur durchsehen und die Kommentare lesen.
    MfG
    Stefan

  7. #7
    Erfahrener Benutzer Fleißiges Mitglied Avatar von Filou89
    Registriert seit
    24.12.2010
    Ort
    Thun, Switzerland
    Alter
    35
    Beiträge
    116
    OK, danke. Ich glaube ich habe die Stelle gefunden.
    Code:
    # List any extra directories to look for include files here. 
    #     Each directory must be seperated by a space. 
    #     Use forward slashes for directory separators. 
    #     For a directory that has spaces, enclose it in quotes. 
    EXTRAINCDIRS = $(AT90_LIB_PATH) $(AT90_LIB_PATH_OTHERS)
    Danke für den entscheidenden Hinweis!

    MfG
    Filou

Ähnliche Themen

  1. makefile?
    Von roboter14 im Forum Robby RP6
    Antworten: 2
    Letzter Beitrag: 15.05.2010, 11:04
  2. MakeFile
    Von simsbigfreak im Forum Asuro
    Antworten: 0
    Letzter Beitrag: 11.01.2009, 15:04
  3. Makefile
    Von -Hunter- im Forum Asuro
    Antworten: 6
    Letzter Beitrag: 30.12.2008, 20:28
  4. Linux - Makefile -> Probleme?!
    Von axel88 im Forum Robby RP6
    Antworten: 3
    Letzter Beitrag: 12.01.2008, 18:04
  5. Probleme mit Makefile!
    Von Roberto im Forum C - Programmierung (GCC u.a.)
    Antworten: 4
    Letzter Beitrag: 29.06.2007, 18:33

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

LiFePO4 Speicher Test