-         

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 14

Thema: Lib Installation geht einfach nicht!

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    02.02.2009
    Beiträge
    6

    Lib Installation geht einfach nicht!

    Anzeige

    Hallo erstmal.

    Wenn ich mit der neuen Lib ein Programm im Programmers Notepad in eine .hex umwandeln will, kommt folgende Fehlermeldung:





    Dabei wurde dieses simple Programm verwendet:
    Code:
    /***************************************************************************
     *                                                                         *
     *   This program is free software; you can redistribute it and/or modify  *
     *   it under the terms of the GNU General Public License as published by  *
     *   the Free Software Foundation; either version 2 of the License, or     *
     *   any later version.                                                    *
     ***************************************************************************/
    
    #include "asuro.h"
    
    int main(void)
    {
      Init();
      StatusLED(YELLOW); 
      while (1);
      return 0;
    }
    Ich habe dann wohl irgendetwas bei der Installation der Lib falsch gemacht...


    Jedoch habe ich mich genau an die Anleitung gehalten:

    Als erstes habe ich die Lib (Ver. 2.80rc1) heruntergeladen, und entpackt. (Ich habe sie natürlich nicht in einen WinAVR-Ordner entpackt.)

    Danach habe ich die neuste WinAVR Version installiert. (Ver. 20081205)

    Dann habe ich alle Dateien aus LibHome/lib/inc nach WinAVR/avr/include kopiert, und die Datei libasuro.a aus LibHome/lib nach WinAVR/avr/lib kopiert.

    Nachdem ich das gemacht habe, habe ich dann zwei Makefiles so geändert, wie in der Anleitung beschrieben, und zwar einmal die Makefile aus LibHome/lib und die Makefile aus LibHome/examples/FirstTry.

    Schließlich habe ich die Lib dann noch mithilfe der Eingabeaufforderung übersetzt.

    So müsste es doch eigentlich klappen...?

    Doch wenn ich nun ein Programm mit der test.c aus dem FirstTry-Ordner schreibe und es übersetze, kommt diese Fehlermeldung.

    Was mache ich falsch?

  2. #2
    Neuer Benutzer Öfters hier
    Registriert seit
    02.02.2009
    Alter
    26
    Beiträge
    20
    Hallo Vault Boy,

    Hasst du den Computer mal neu gestartet als du die Programme installiert hasst?
    Ansonsten deinstalliere doch einfach alles noch mal und installiere alles noch mal neu. Ich hatte so eine Fehlermeldung noch nicht und bin auch ratlos!! Ich habe keine wirklich gute Idee

    Schöne grüße

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    02.02.2009
    Beiträge
    6
    Hallo Mom0,
    erstmal vielen Dank für die Antwort. Das mit dem erneuten Installieren von WinAVR und der Lib habe ich auch schon probiert, das Neustarten des Computers bringt leider auch nichts. Ich bin auch ziemlich ratlos.

    Naja ich hoffe ich bekomme das noch irgendwie hin.

  4. #4
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    27.12.2008
    Ort
    Dresden
    Alter
    30
    Beiträge
    100
    hat das übersetzten der lib denn problemlos funktioniert?

    würde jetzt darauf tippen, dass du vllt bei den makefiles etwas vergessen hast...
    wichtig ist, dass LIBPATH genau richtig ist... sonst findet er die lib nicht.

    allerdings bin ich auch kein experte...
    Der Optimist: \"Das Glas ist halb voll.\"
    Der Pessimist: \"Das Glas ist halb leer.\"
    Der Ingenieur: \"Das Glas ist doppelt so groß wie es sein müßte.\"

  5. #5
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    01.03.2008
    Ort
    Niederlanden
    Beiträge
    1.167
    Genau, achte mahl auf die \ und / zeichen im path. In die makefile sollen / stehen sondern wirds nicht klappen. Aber Windows Explorer selbst versteht oder gibt nur paths mit \ zeichen. Irgendwo im make algorithmus wirds umgewandelt nach 'Windows-sprache'.

  6. #6
    Neuer Benutzer Öfters hier
    Registriert seit
    02.02.2009
    Beiträge
    6
    Vielen Dank für die Hilfe!

    Ihr habt Recht, mit der LIBPATH-Angabe stimmte etwas nicht. Es war eine völlig falsche Angabe!

    Wäre es denn möglich, dass ich die LIBPATH Zeile korrigiere und die Lib dann nochmal neu übersetze, oder muss ich alles nochmal machen?

    €dit: Ich habe mal in der Anleitung nachgelesen, da steht gar nichts von einer LIBPATH-Zeile, nur eine VPATH-Zeile wird erwähnt.

    Nun habe ich mal in der Makefile nachgesehen, da gibts einmal ein "LIBPATH" vor dem sich das "#"-Symbol befindet und einmal eins ohne das "#-Symbol. Welches muss geändert werden?



  7. #7
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    01.03.2008
    Ort
    Niederlanden
    Beiträge
    1.167
    Die # ist ein kommentar zeichen. Also #LIBPATH= wirdt ignoriert. Deine rechner sucht fur die lib im "../../lib" verzeichnis. Das sollte du anderen.

  8. #8
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    27.12.2008
    Ort
    Dresden
    Alter
    30
    Beiträge
    100
    der kommentar da drüber soll wahrscheinlich nur zeigen, wie es auszusehen hat.

    ansich müsste es danach dann reichen, die lib neu zu übersetzen und dann sollte es gehen (wenn keine anderen fehler mehr im makefile sind).
    Der Optimist: \"Das Glas ist halb voll.\"
    Der Pessimist: \"Das Glas ist halb leer.\"
    Der Ingenieur: \"Das Glas ist doppelt so groß wie es sein müßte.\"

  9. #9
    Neuer Benutzer Öfters hier
    Registriert seit
    02.02.2009
    Beiträge
    6
    Argh!

    Ich habe LIBPATH geändert, ich habe sogar die ganze Lb nochmal neu installiert, doch das Problem besteht weiterhin.
    Ich verstehe das nicht!


    Also die Makefile sieht jetzt so aus:



    Und was hat es eigentlich mit dieser "VPATH-Zeile" auf sich? In der Anleitung von Sternthaler wird ja auch gesagt, dass man da nochmal den Pfad der Lib reinschreiben muss. (Habe ich natürlich gemacht )

  10. #10
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    27.12.2008
    Ort
    Dresden
    Alter
    30
    Beiträge
    100
    seltsam... was hast du denn da für ein makefile?!

    meins sieht ganz anders aus... und ich benutze auch die v2.8rc1, bei mir sieht das makefile (aus dem LIB-HOME/lib verzeichnis) so aus:

    Code:
    ###############################################################################
    # Makefile for the project AsuroLib
    ###############################################################################
    
    ## General Flags
    MCU = atmega8
    F_CPU = 8000000UL
    TARGET = libasuro
    CC = avr-gcc.exe
    AR = avr-ar
    OBJDUMP = avr-objdump
    
    ## Options common to compile, link and assembly rules
    COMMON = -mmcu=$(MCU)
    
    ## Compile options common for all C compilation units.
    CFLAGS = $(COMMON)
    CFLAGS += -Wall -gdwarf-2 -Os -I./inc
    CFLAGS += -MD -MP -MT $(*F).o -MF dep/$(@F).d 
    
    ## Assembly specific flags
    ASMFLAGS = $(COMMON)
    ASMFLAGS += -x assembler-with-cpp -Wa,-gdwarf2
    
    ## Linker flags
    LDFLAGS = $(COMMON)
    LDFLAGS += 
    
    
    ## Intel Hex file production flags
    HEX_FLASH_FLAGS = -R .eeprom
    
    HEX_EEPROM_FLAGS = -j .eeprom
    HEX_EEPROM_FLAGS += --set-section-flags=.eeprom="alloc,load"
    HEX_EEPROM_FLAGS += --change-section-lma .eeprom=0
    
    
    ## Objects that must be built in order to link
    OBJECTS = globals.o adc.o adc_low.o encoder.o encoder_low.o i2c.o leds.o lcd.o\
     	motor.o motor_low.o my_motor_low.o print.o printf.o rc5.o sound.o switches.o\
      time.o uart.o ultrasonic.o version.o 
    
    ## Objects explicitly added by the user
    LINKONLYOBJECTS = 
    
    # Define directories, if needed.
    DIRAVR = D:/ASURO/WinAVR
    #DIRAVR = /usr/local/avr
    DIRAVRBIN = $(DIRAVR)/bin
    DIRAVRUTILS = $(DIRAVR)/utils/bin
    DIRINC = $(DIRAVR)/avr/include
    DIRLIB = $(DIRAVR)/avr/lib
    
    LIB = asuro
    LIBFILE = $(TARGET).a
    HEADER = *.h
    
    ## Build
    all: $(LIBFILE)
    	rm -rf *.o *~
    
    %.o: %.c
    	$(CC) $(INCLUDES) $(CFLAGS) -c  $<
    
    $(LIBFILE): $(OBJECTS)
    	$(AR) cru $(LIBFILE) $(OBJECTS)
    
    ## Clean target
    clean:
    	rm -rf *.o *~ $(LIBFILE)
    	rm -rf *.lst *.map $(EXTRA_CLEAN_FILES)
    	rm -rf dep/*.d
    
    install:
    	cp $(LIBFILE) $(DIRLIB)/$(LIBFILE)
    	cp inc/$(HEADER) $(DIRINC)
    
    lst: $(OBJECTS:%.o=%.lst)
    
    
    %.lst: %.o
    	$(OBJDUMP) -h -S $< > $@
    
    ## Other dependencies
    -include $(shell mkdir dep 2>/dev/null) $(wildcard dep/*)
    ?!
    Der Optimist: \"Das Glas ist halb voll.\"
    Der Pessimist: \"Das Glas ist halb leer.\"
    Der Ingenieur: \"Das Glas ist doppelt so groß wie es sein müßte.\"

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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