-         

Ergebnis 1 bis 3 von 3

Thema: pc steuerung: fehler beim compilieren

  1. #1

    pc steuerung: fehler beim compilieren

    Anzeige

    Das Programm habe ich aus dem Asurobuch übernommen. Beim kompilieren des Quellcodes erscheint eine Fehlermeldung mit der ich nichts anfangen kann, bzw. nicht weiß, wie ich das Problem lösen könnte.

    Code:
    set -e; avr-gcc -MM -mmcu=atmega8 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=asuro.lst asuro.c \
            | sed 's,\(.*\)\.o[ :]*,\1.o \1.d : ,g' > asuro.d; \
            [ -s asuro.d ] || rm -f asuro.d
    set -e; avr-gcc -MM -mmcu=atmega8 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=test.lst test.c \
            | sed 's,\(.*\)\.o[ :]*,\1.o \1.d : ,g' > test.d; \
            [ -s test.d ] || rm -f test.d
    -------- begin --------
    avr-gcc --version
    avr-gcc (GCC) 3.3 20030512 (prerelease)
    Copyright (C) 2003 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.
    
    avr-gcc -c -mmcu=atmega8 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=test.lst test.c -o test.o
    avr-gcc -c -mmcu=atmega8 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=asuro.lst asuro.c -o asuro.o
    avr-gcc -mmcu=atmega8 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=test.o test.o asuro.o   --output test.elf -Wl,-Map=test.map,--cref -lm
    asuro.o(.text+0x5c): In function `__vector_2':
    /home/user/asuro/test/asuro.c:69: multiple definition of `__vector_2'
    test.o(.text+0x0):/home/user/asuro/test/test.c:38: first defined here
    /usr/lib/gcc-lib/avr/3.3/../../../../avr/bin/ld: Warning: size of symbol `__vector_2' changed from 146 in test.o to 82 in asuro.o
    /usr/lib/gcc-lib/avr/3.3/../../../../avr/lib/avr4/crtm8.o(.init9+0x0): In function `__bad_interrupt':
    ../../../crt1/gcrt1.S:99: undefined reference to `main'
    make: *** [test.elf] Fehler 1
    am Anfang bin ich von einem Fehler beim programmieren ausgegangen. Nachdem ich aber die Datei "PCDemo.c" aus dem Ordner "SelfTest" kopiert habe, erschien nach "make" die gleiche Fehlermeldung.
    Andere Programme konnten erfolgreich compiliert werden.

    Kann mir da jemand einen Tipp geben?

    Danke und Greetz

  2. #2
    Erfahrener Benutzer Roboter Genie Avatar von m.a.r.v.i.n
    Registriert seit
    24.07.2005
    Ort
    Berlin
    Beiträge
    1.247
    Hi,

    1. du verwendest die erweiterte Asuro Lib hier aus dem Forum oder von Sourceforge. In der erweiterten LIB wird die Interrupt Funktion für den Interrupt 1
    Code:
    SIGNAL (SIG_INTERRUPT1)
    bereits verwendet. Ebenso in dem File PCDemo.c. Das geht nicht. Du mußt die Original Asuro.c und Asuro.h von der CD verwenden, oder die Interrupt Funktion aus der neuen Asuro.c entfernen.

    2. Im File PCDemo.c fehlt die main Funktion. Jedes C-Programm braucht eine Main Funktion. Füge folgendes in PCDemo.c dazu.

    Code:
    int main(void)
    {
      PCDemo();
      return 0;
    }

  3. #3

    pc steuerung: fehler beim compilieren [geöst]

    Hat funktioniert! Danke!

Berechtigungen

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