Forum: Compiler & IDEs Probleme mit AVRStudio 5


von Bruno M. (brumay)


Lesenswert?

Hallo,

ich versuche seit geraumer Zeit das Projekt "Transistortester" 
Beitrag "Transistortester AVR"
im AVRStudio 5 zum Laufen zu bringen, aber leider ohne Erfolg.

Nach einem entsprechenden Tip ging es zwar auf meinem alten PC im Studio 
4, aber da ich in Zukunft nur mehr mit Studio 5 arbeiten muß, möchte ich 
gerne wissen wo das Problem liegt. Ein einfacher Import des Studio 4 
Projektes funktionierte überhaupt nicht, also habe ich versucht mit 
meinen rudimentären C Kenntnissen alle Fehler auszumerzen. Das ging auch 
bei einer Reihe von Punkten ganz gut, aber jetzt komme ich nicht mehr 
weiter.

Ich bekomme 124 Fehler "redefinition of xxx" und danach 124 Warnungen 
"previous definition of xxx was here". Das seltsame dabei ist, daß 
sowohl beim Fehler als auch bei der Warnung auf die selbe Stelle gezeigt 
wird.

Kann mir das jemand erklären?

Gruß Bruno

von Bruno M. (brumay)


Lesenswert?

Hallo,

kann es wirklich sein, daß dazu keiner etwas beitragen kann??

Das Problem liegt offensichtlich bei dieser Art von Definition:

const uint16_t RHtab[] MEM_TEXT = { 954, 903, 856, 814, 775, 740, 707, 
676, 648};

Was muß dabei berücksichtigt werden? Welche lib muß ich einbinden?

Ich bin dankbar für jeden Tip!

Gruß Bruno

von Peter II (Gast)


Lesenswert?

Bruno M. schrieb:
> Hallo,
> kann es wirklich sein, daß dazu keiner etwas beitragen kann??

vermutlich weil niemand deine Fehlermeldung kennt.

> Ich bekomme 124 Fehler "redefinition of xxx"

das xxx ist das wichtigste und das hast du weggelassen.

von Sepp (Gast)


Lesenswert?

Klingt für mich so, als würde eine Definition (#define xxx) 2 mal (oder 
auch mehrmals) in mehreren header Datein vorhanden sein.

Übrigens:
>const uint16_t RHtab[] MEM_TEXT = { 954, 903, 856, 814, 775, 740, 707,
>676, 648};

ist keine Definition!

von Bruno M. (brumay)


Lesenswert?

Vorab herzlichen Dank für die Antworten!

Peter II schrieb:

>das xxx ist das wichtigste und das hast du weggelassen.

Ich habe es weggelassen, weil es sich bei den 124 Fehlern um jeweils 
unterschiedliche Variablen handelt.

"RHtab" in meinem Beispiel ist z.B. eine davon.


Sepp schrieb:

>Übrigens:
>const uint16_t RHtab[] MEM_TEXT = { 954, 903, 856, 814, 775, 740, 707,
>676, 648};

ist keine Definition!

Ich bin zwar mit C noch ganz am Anfang, aber soweit ich verstanden habe 
legt man damit Daten im EEPROM ab. Der Begriff Definition stammt aus der 
Fehlermeldung.

von Peter II (Gast)


Lesenswert?

du hast bestimmt irgendwo

#include <*.c> drinne stehen.

von Bruno M. (brumay)


Lesenswert?

Ich habe eben nochmals alle Dateien durchgesehen. Es sind überall nur .h 
Dateien eingebunden

von Peter II (Gast)


Lesenswert?

dann poste doch mal bitte die genauen ausgaben vom build vorgang.

von Bruno M. (brumay)


Lesenswert?

Nachfolgend der komplette Ausdruck:


------ Rebuild All started: Project: Transistortester, Configuration: 
Debug AVR ------
Build started.
Project "Transistortester.cproj" (ReBuild target(s)):
Target "PreBuildEvent" skipped, due to false condition; 
('$(PreBuildEvent)'!='') was evaluated as (''!='').
Target "CoreRebuild" in file "C:\Program Files (x86)\Atmel\AVR Studio 
5.1\Vs\Compiler.targets" from project 
"D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\ 
Transistortester.cproj"  (target "ReBuild" depends on it):
  Task "RunCompilerTask"
    C:\Program Files (x86)\Atmel\AVR Studio 5.1\make\make.exe clean all
    rm -rf  CheckPins.o CombineToLong.o lcd-routines.o ReadADC.o 
ReadADC.o ReadCapacity.o Transistortester.o wait1000ms.o CheckPins.d 
lcd-routines.d ReadADC.d ReadCapacity.d Transistortester.d
    rm -rf "Transistortester.hex" "Transistortester.lss" 
"Transistortester.eep" "Transistortester.map"
CheckPins.c
    Invoking: AVR/GNU C Compiler
    "C:\Program Files (x86)\Atmel\AVR Studio 
5.1\extensions\Atmel\AVRGCC\3.3.1.27\AVRToolchain\bin\avr-gcc.exe" 
-funsigned-char -funsigned-bitfields -O1 -fpack-struct -fshort-enums -g2 
-Wall -c -std=gnu99 -MD -MP -MF "CheckPins.d" -MT"CheckPins.d" 
-mmcu=atmega168a  -o"CheckPins.o" ".././CheckPins.c"
    Finished building: .././CheckPins.c
CombineToLong.s
    Invoking: AVR32/GNU C Assembler
    "C:\Program Files (x86)\Atmel\AVR Studio 
5.1\extensions\Atmel\AVRGCC\3.3.1.27\AVRToolchain\bin\avr-gcc.exe" 
-Wa,-gdwarf2 -x assembler-with-cpp -c  -mmcu=atmega168a 
-o"CombineToLong.o" ".././CombineToLong.s"
    Finished building: .././CombineToLong.s
lcd-routines.c
    Invoking: AVR/GNU C Compiler
    "C:\Program Files (x86)\Atmel\AVR Studio 
5.1\extensions\Atmel\AVRGCC\3.3.1.27\AVRToolchain\bin\avr-gcc.exe" 
-funsigned-char -funsigned-bitfields -O1 -fpack-struct -fshort-enums -g2 
-Wall -c -std=gnu99 -MD -MP -MF "lcd-routines.d" -MT"lcd-routines.d" 
-mmcu=atmega168a  -o"lcd-routines.o" ".././lcd-routines.c"
    Finished building: .././lcd-routines.c
ReadADC.s
    Invoking: AVR32/GNU C Assembler
    "C:\Program Files (x86)\Atmel\AVR Studio 
5.1\extensions\Atmel\AVRGCC\3.3.1.27\AVRToolchain\bin\avr-gcc.exe" 
-Wa,-gdwarf2 -x assembler-with-cpp -c  -mmcu=atmega168a   -o"ReadADC.o" 
".././ReadADC.s"
    Finished building: .././ReadADC.s
ReadCapacity.c
    Invoking: AVR/GNU C Compiler
    "C:\Program Files (x86)\Atmel\AVR Studio 
5.1\extensions\Atmel\AVRGCC\3.3.1.27\AVRToolchain\bin\avr-gcc.exe" 
-funsigned-char -funsigned-bitfields -O1 -fpack-struct -fshort-enums -g2 
-Wall -c -std=gnu99 -MD -MP -MF "ReadCapacity.d" -MT"ReadCapacity.d" 
-mmcu=atmega168a  -o"ReadCapacity.o" ".././ReadCapacity.c"
    Finished building: .././ReadCapacity.c
Transistortester.c
    Invoking: AVR/GNU C Compiler
    "C:\Program Files (x86)\Atmel\AVR Studio 
5.1\extensions\Atmel\AVRGCC\3.3.1.27\AVRToolchain\bin\avr-gcc.exe" 
-funsigned-char -funsigned-bitfields -O1 -fpack-struct -fshort-enums -g2 
-Wall -c -std=gnu99 -MD -MP -MF "Transistortester.d" 
-MT"Transistortester.d"  -mmcu=atmega168a  -o"Transistortester.o" 
".././Transistortester.c"
    In file included from .././CheckPins.c:3:0,
                     from .././Transistortester.c:639:
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(72,16):  redefinition of 'RLtab'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(72,16):  previous definition of 'RLtab' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(79,16):  redefinition of 'RHtab'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(79,16):  previous definition of 'RHtab' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(97,23):  redefinition of 'TestRunning'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(97,23):  previous definition of 'TestRunning' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(98,23):  redefinition of 'BatWeak'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(98,23):  previous definition of 'BatWeak' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(99,23):  redefinition of 'BatEmpty'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(99,23):  previous definition of 'BatEmpty' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(100,23):  redefinition of 'TestFailed2'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(100,23):  previous definition of 'TestFailed2' was 
here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(101,23):  redefinition of 'Bauteil'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(101,23):  previous definition of 'Bauteil' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(102,23):  redefinition of 'Diode'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(102,23):  previous definition of 'Diode' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(103,23):  redefinition of 'GAK'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(103,23):  previous definition of 'GAK' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(104,23):  redefinition of 'Triac'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(104,23):  previous definition of 'Triac' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(105,23):  redefinition of 'Thyristor'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(105,23):  previous definition of 'Thyristor' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(106,23):  redefinition of 'Unknown'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(106,23):  previous definition of 'Unknown' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(107,23):  redefinition of 'TestFailed1'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(107,23):  previous definition of 'TestFailed1' was 
here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(108,23):  redefinition of 'OrBroken'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(108,23):  previous definition of 'OrBroken' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(188,21):  redefinition of 'Bat'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(188,21):  previous definition of 'Bat' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(189,21):  redefinition of 'OK'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(189,21):  previous definition of 'OK' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(190,21):  redefinition of 'mosfet'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(190,21):  previous definition of 'mosfet' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(191,21):  redefinition of 'jfet'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(191,21):  previous definition of 'jfet' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(192,21):  redefinition of 'GateCap'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(192,21):  previous definition of 'GateCap' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(193,21):  redefinition of 'hfestr'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(193,21):  previous definition of 'hfestr' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(194,21):  redefinition of 'NPN'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(194,21):  previous definition of 'NPN' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(195,21):  redefinition of 'PNP'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(195,21):  previous definition of 'PNP' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(196,21):  redefinition of 'ebcstr'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(196,21):  previous definition of 'ebcstr' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(197,21):  redefinition of 'gds'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(197,21):  previous definition of 'gds' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(198,21):  redefinition of 'Uf'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(198,21):  previous definition of 'Uf' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(199,21):  redefinition of 'vt'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(199,21):  previous definition of 'vt' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(201,21):  redefinition of 'CapZeich'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(201,21):  previous definition of 'CapZeich' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(203,21):  redefinition of 'AnKat'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(203,21):  previous definition of 'AnKat' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(204,21):  redefinition of 'KatAn'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(204,21):  previous definition of 'KatAn' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(205,21):  redefinition of 'Dioden'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(205,21):  previous definition of 'Dioden' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(207,21):  redefinition of 'Resis'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(207,21):  previous definition of 'Resis' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(209,21):  redefinition of 'TestTimedOut'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(209,21):  previous definition of 'TestTimedOut' was 
here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(210,21):  redefinition of 'VERSION'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(210,21):  previous definition of 'VERSION' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(213,21):  redefinition of 'mVT'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(213,21):  previous definition of 'mVT' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(214,21):  redefinition of 'URefT'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(214,21):  previous definition of 'URefT' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(215,21):  redefinition of 'RHfakt'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(215,21):  previous definition of 'RHfakt' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(216,21):  redefinition of 'RLfakt'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(216,21):  previous definition of 'RLfakt' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(217,21):  redefinition of 'ATE'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(217,21):  previous definition of 'ATE' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(218,21):  redefinition of 'SELFTEST'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(218,21):  previous definition of 'SELFTEST' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(219,21):  redefinition of 'RH1L'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(219,21):  previous definition of 'RH1L' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(220,21):  redefinition of 'RH1H'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(220,21):  previous definition of 'RH1H' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(221,21):  redefinition of 'RILO'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(221,21):  previous definition of 'RILO' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(222,21):  redefinition of 'RIHI'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(222,21):  previous definition of 'RIHI' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(223,21):  redefinition of 'RLRL'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(223,21):  previous definition of 'RLRL' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(224,21):  redefinition of 'RHRH'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(224,21):  previous definition of 'RHRH' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(225,21):  redefinition of 'RELPROBE'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(225,21):  previous definition of 'RELPROBE' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(233,21):  redefinition of 'DiodeIcon1'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(233,21):  previous definition of 'DiodeIcon1' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(242,21):  redefinition of 'DiodeIcon2'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(242,21):  previous definition of 'DiodeIcon2' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(251,21):  redefinition of 'CapIcon'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(251,21):  previous definition of 'CapIcon' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(261,21):  redefinition of 'ResIcon1'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(261,21):  previous definition of 'ResIcon1' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(269,21):  redefinition of 'ResIcon2'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(269,21):  previous definition of 'ResIcon2' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(279,21):  redefinition of 'PinRLtab'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(279,21):  previous definition of 'PinRLtab' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(283,21):  redefinition of 'PinADCtab'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(283,21):  previous definition of 'PinADCtab' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(302,8):  redefinition of 'struct Diode'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(302,8):  originally defined here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(377,14):  conflicting types for 'diodes'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(377,14):  previous declaration of 'diodes' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(384,2):  conflicting types for 'trans'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(384,2):  previous declaration of 'trans' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(393,8):  redefinition of 'struct resis_t'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(393,8):  originally defined here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(397,3):  conflicting types for 'resis'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(397,3):  previous declaration of 'resis' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(405,23):  redefinition of 'C_Prefix_tab'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(405,23):  previous definition of 'C_Prefix_tab' was 
here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(410,16):  redefinition of 'RHmultip'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(410,16):  previous definition of 'RHmultip' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(414,9):  redefinition of 'minmul'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(414,9):  previous definition of 'minmul' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(414,18):  redefinition of 'mindiv'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(414,18):  previous definition of 'mindiv' was here
    In file included from .././ReadCapacity.c:28:0,
                     from .././Transistortester.c:779:
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(72,16):  redefinition of 'RLtab'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(72,16):  previous definition of 'RLtab' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(79,16):  redefinition of 'RHtab'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(79,16):  previous definition of 'RHtab' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(97,23):  redefinition of 'TestRunning'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(97,23):  previous definition of 'TestRunning' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(98,23):  redefinition of 'BatWeak'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(98,23):  previous definition of 'BatWeak' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(99,23):  redefinition of 'BatEmpty'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(99,23):  previous definition of 'BatEmpty' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(100,23):  redefinition of 'TestFailed2'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(100,23):  previous definition of 'TestFailed2' was 
here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(101,23):  redefinition of 'Bauteil'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(101,23):  previous definition of 'Bauteil' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(102,23):  redefinition of 'Diode'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(102,23):  previous definition of 'Diode' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(103,23):  redefinition of 'GAK'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(103,23):  previous definition of 'GAK' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(104,23):  redefinition of 'Triac'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(104,23):  previous definition of 'Triac' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(105,23):  redefinition of 'Thyristor'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(105,23):  previous definition of 'Thyristor' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(106,23):  redefinition of 'Unknown'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(106,23):  previous definition of 'Unknown' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(107,23):  redefinition of 'TestFailed1'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(107,23):  previous definition of 'TestFailed1' was 
here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(108,23):  redefinition of 'OrBroken'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(108,23):  previous definition of 'OrBroken' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(188,21):  redefinition of 'Bat'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(188,21):  previous definition of 'Bat' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(189,21):  redefinition of 'OK'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(189,21):  previous definition of 'OK' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(190,21):  redefinition of 'mosfet'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(190,21):  previous definition of 'mosfet' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(191,21):  redefinition of 'jfet'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(191,21):  previous definition of 'jfet' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(192,21):  redefinition of 'GateCap'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(192,21):  previous definition of 'GateCap' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(193,21):  redefinition of 'hfestr'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(193,21):  previous definition of 'hfestr' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(194,21):  redefinition of 'NPN'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(194,21):  previous definition of 'NPN' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(195,21):  redefinition of 'PNP'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(195,21):  previous definition of 'PNP' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(196,21):  redefinition of 'ebcstr'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(196,21):  previous definition of 'ebcstr' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(197,21):  redefinition of 'gds'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(197,21):  previous definition of 'gds' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(198,21):  redefinition of 'Uf'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(198,21):  previous definition of 'Uf' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(199,21):  redefinition of 'vt'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(199,21):  previous definition of 'vt' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(201,21):  redefinition of 'CapZeich'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(201,21):  previous definition of 'CapZeich' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(203,21):  redefinition of 'AnKat'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(203,21):  previous definition of 'AnKat' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(204,21):  redefinition of 'KatAn'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(204,21):  previous definition of 'KatAn' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(205,21):  redefinition of 'Dioden'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(205,21):  previous definition of 'Dioden' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(207,21):  redefinition of 'Resis'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(207,21):  previous definition of 'Resis' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(209,21):  redefinition of 'TestTimedOut'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(209,21):  previous definition of 'TestTimedOut' was 
here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(210,21):  redefinition of 'VERSION'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(210,21):  previous definition of 'VERSION' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(213,21):  redefinition of 'mVT'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(213,21):  previous definition of 'mVT' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(214,21):  redefinition of 'URefT'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(214,21):  previous definition of 'URefT' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(215,21):  redefinition of 'RHfakt'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(215,21):  previous definition of 'RHfakt' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(216,21):  redefinition of 'RLfakt'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(216,21):  previous definition of 'RLfakt' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(217,21):  redefinition of 'ATE'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(217,21):  previous definition of 'ATE' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(218,21):  redefinition of 'SELFTEST'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(218,21):  previous definition of 'SELFTEST' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(219,21):  redefinition of 'RH1L'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(219,21):  previous definition of 'RH1L' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(220,21):  redefinition of 'RH1H'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(220,21):  previous definition of 'RH1H' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(221,21):  redefinition of 'RILO'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(221,21):  previous definition of 'RILO' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(222,21):  redefinition of 'RIHI'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(222,21):  previous definition of 'RIHI' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(223,21):  redefinition of 'RLRL'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(223,21):  previous definition of 'RLRL' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(224,21):  redefinition of 'RHRH'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(224,21):  previous definition of 'RHRH' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(225,21):  redefinition of 'RELPROBE'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(225,21):  previous definition of 'RELPROBE' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(233,21):  redefinition of 'DiodeIcon1'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(233,21):  previous definition of 'DiodeIcon1' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(242,21):  redefinition of 'DiodeIcon2'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(242,21):  previous definition of 'DiodeIcon2' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(251,21):  redefinition of 'CapIcon'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(251,21):  previous definition of 'CapIcon' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(261,21):  redefinition of 'ResIcon1'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(261,21):  previous definition of 'ResIcon1' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(269,21):  redefinition of 'ResIcon2'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(269,21):  previous definition of 'ResIcon2' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(279,21):  redefinition of 'PinRLtab'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(279,21):  previous definition of 'PinRLtab' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(283,21):  redefinition of 'PinADCtab'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(283,21):  previous definition of 'PinADCtab' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(302,8):  redefinition of 'struct Diode'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(302,8):  originally defined here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(377,14):  conflicting types for 'diodes'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(377,14):  previous declaration of 'diodes' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(384,2):  conflicting types for 'trans'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(384,2):  previous declaration of 'trans' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(393,8):  redefinition of 'struct resis_t'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(393,8):  originally defined here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(397,3):  conflicting types for 'resis'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(397,3):  previous declaration of 'resis' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(405,23):  redefinition of 'C_Prefix_tab'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(405,23):  previous definition of 'C_Prefix_tab' was 
here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(410,16):  redefinition of 'RHmultip'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(410,16):  previous definition of 'RHmultip' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(414,9):  redefinition of 'minmul'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(414,9):  previous definition of 'minmul' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(414,18):  redefinition of 'mindiv'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(414,18):  previous definition of 'mindiv' was here
    make: *** [Transistortester.o] Error 1
  Done executing task "RunCompilerTask" -- FAILED.
Done building target "CoreRebuild" in project "Transistortester.cproj" 
-- FAILED.
Done building project "Transistortester.cproj" -- FAILED.

Build FAILED.
========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========

von Bruno M. (brumay)


Lesenswert?

Nochmals der Hinweis, daß der Code im Studio 4 problemlos compiliert 
wird. Nur im Studio 5 klappt es nicht.

Dabei ist alles identisch, bis auf den Makefile. Der Ursprungscode 
enthält einen externen Makefile mit einer Reihe von einstellbaren Flags. 
Da ich keine Ahnung habe wie ich diesen Makefile im Studio 5 aufbauen 
sollte, habe ich all diese Einstellungen in eine Datei config.h 
übernommen und dann den normalen Makefile gelassen.

von Stefan E. (sternst)


Lesenswert?

Ich tippe auf Mehrfach-Include von Transistortester.h.

Bruno M. schrieb:
> habe ich all diese Einstellungen in eine Datei config.h

Inhalt posten.

von Peter II (Gast)


Lesenswert?

in der Transistortester.h fehlt ein include guard. Wie es scheint wird
sie 2mal includiert.

schreibt mal am anfang

#ifndef _TRANSISTORTESTER_H
#define _TRANSISTORTESTER_H

und am ende

#endif // _TRANSISTORTESTER_H


rein.

von Bruno M. (brumay)


Lesenswert?

Der Tip von Peter II war der richtige Ansatz! Anscheinend ist der 
Compiler über diese Hürde hinweg, zeigt aber 233 andere Fehler ähnlicher 
Art.

Zu meinem Verständnis:

Darf eine .h Datei im Projekt nur einmal eingeschlossen werden? Wenn ja, 
ist egal wo? Wenn das so ist, dann liegt das Problem auf der Hand.

von Bruno M. (brumay)


Lesenswert?

Nachfolgend der von Stefan Ernst gewünschte Vorspann, den ich in die 
config.h eingefügt habe:

// ********************** Änderbare Variablen zur Configuration des 
Transistortesters
// ********************** config options for your Semiconductor tester

#define PARTNO      m168

//select your language
// available languages are: LANG_ENGLISH, LANG_GERMAN, LANG_POLISH, 
LANG_CZECH, LANG_SLOVAK, LANG_SLOVENE
#define LANG_GERMAN

// the LCD_CYRILLIC option is necessary, if you have a display with 
cyrillic characterset
// this lcd-display don't have a character for Ohm and for µ (micro)
//#define        LCD_CYRILLIC

// the WITH_SELFTEST option enables selftest function
#define          WITH_SELFTEST

// the WITH_AUTO_REF option enables reading of internal REF-voltage to 
get factors for the Capacity measuring
#define          WITH_AUTO_REF
#define  REF_C_KORR    16

// the R_MESS option enables Resistor measuring
#define          R_MESS

// the C_MESS option enables Capacity measuring
#define          C_MESS
// this level defines the empty voltage level for capacitors in mV
#define  CAP_EMPTY_LEVEL  3

// the AUTOSCALE_ADC option enables the autoscale ADC (VCC and Bandgap 
Ref)
#define          AUTOSCALE_ADC
//#define        REF_R_KORR=0
// NO_AREF_CAP tells your Software, that you have no Capacitor installed 
at pin AREF (21)
// this enables a shorter waittime for AUTOSCALE_ADC function
#define          NO_AREF_CAP

// the OP_MHZ option tells the software the Operating Frequency
#define OP_MHZ      8
//#define OP_MHZ    1

// the USE_EEPROM option specify where you wish to locate fix text and 
tables
#define          USE_EEPROM

// the PULLUP_DISABLE option disable the pull-up Resistors of IO-Ports
// to use this option a external pull-up Resistor (10k to 30k)
// from Pin 13 to VCC must be installed!
#define          PULLUP_DISABLE

// the ANZ_MESS option specifies, how often an ADC value is read and 
accumulated
// possible values for 5V Operation are 44, 22 and 11
#define  ANZ_MESS    44

// The POWER_OFF option enables the power off function, otherwise loop 
measurements infinitely
// until power is disconnected with a ON/OFF switch (#define 
POWER_OFF).
// If you have the tester without the power off transistors, you can 
deselect POWER_OFF
// If you have NOT selected the POWER_OFF option with the transistors 
installed,
// you can stop measuring by holding the key several seconds after a 
result is
// displayed. After releasing the key, the tester will be shut off by 
timeout.
// Otherwise you can also specify, after how many measurements without 
found part
// the tester will shut down (#define   POWER_OFF=5).
// The tester will also shut down with found part,
// but measurements are allowed double of the specified number.
//  You can specify up to 255 empty measurements (#define 
POWER_OFF=255).
#define  POWER_OFF    5
// option BAT_CHECK enables the Battery Voltage Check, otherwise output 
SW Version
// is only needed for battery powered tester version
#define          BAT_CHECK
// The BAT_OUT option enables Battery Voltage Output on LCD (if 
BAT_CHECK is selected).
// If your 9V supply has a diode installed, use the BAT_OUT=600 form to 
specify the
// threshold voltage of your diode to adjust the output value.
// This threshold level is added to LCD-output and does not affect the 
voltage checking levels.
#define  BAT_OUT      150

// To adjust the warning-level and poor-level of battery check to the 
capability of a
// low drop voltage regulator, you can specify the Option BAT_POOR=54 .
// The unit for this option value is 100mV (0.1 Volt), 54 means a poor 
level of 5.4V.
// The warning level is always 1V higher than the specified poor level.
// Setting the poor level to low values is not recommended for 
rechargeable 9V Batteries,
// because this increase the danger for deep discharge!!
#define  BAT_POOR    64

// Output of flux voltage of diodes can be done in mV units or in Volt 
with two digits decimal place.
// The Volt output can save space at the LCD, but needs more program 
space.
// Set the option UF_OUT_MV to get the mV units.
//#define   UF_OUT_MV


#define MCU      atmega168

#define F_CPU    8000000UL

von Stefan E. (sternst)


Lesenswert?

Bruno M. schrieb:
> Darf eine .h Datei im Projekt nur einmal eingeschlossen werden?

Nein, aber in eine C-Datei nur einmal (wenn sie keinen Include-Guard 
hat).

Bruno M. schrieb:
> Nachfolgend der von Stefan Ernst gewünschte Vorspann, den ich in die
> config.h eingefügt habe:

Sicher, dass du da nicht auch noch ein #include "Transistortester.h" mit 
eingebaut hast?

von Bruno M. (brumay)


Lesenswert?

Ich habe mal alle eingeschlossenen h Dateien rausgesucht:


Find all "Transistortester.h", Subfolders, Find Results 1, "Entire 
Solution"
  D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\C 
heckPins.c(3):#include  "Transistortester.h"
  D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\R 
eadCapacity.c(28):#include  "Transistortester.h"
  D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.c(25):#include  "Transistortester.h"


Find all "lcd-routines.h", Subfolders, Find Results 1, "Entire Solution"
  D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\l 
cd-routines.c(8):#include  "lcd-routines.h"
  D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\R 
eadADC.c(5):#include  "lcd-routines.h"
  D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.c(8):#include  "lcd-routines.h"
  D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(2):#include  "lcd-routines.h"



Find all "config.h", Subfolders, Find Results 1, "Entire Solution"
  D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\C 
ombineToLong.S(2):#include  "config.h"
  D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\l 
cd-routines.c(7):#include  "config.h"
  D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\l 
cd-routines.h(1):#include  "config.h"
  D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\R 
eadADC.c(2):#include  "config.h"
  D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\R 
eadADC.S(2)://#include  <config.h>
  D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\R 
eadCapacity.c(27):#include  "config.h"
  D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.c(10):#include  "config.h"
  D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(4):#include  "config.h"
  D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\w 
ait1000ms.S(2):#include  "config.h"



Find all "wait1000ms.h", Subfolders, Find Results 1, "Entire Solution"
  D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\l 
cd-routines.c(9):#include  "wait1000ms.h"
  D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\R 
eadADC.c(4):#include  "wait1000ms.h"
  D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.c(9):#include  "wait1000ms.h"
  D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T 
ransistortester.h(3):#include  "wait1000ms.h"

von Stefan E. (sternst)


Lesenswert?

In Transistortester.c gibt es mit Sicherheit ein #include "CheckPins.c", 
das kann man auch hier sehen:
1
    In file included from .././CheckPins.c:3:0,
2
                     from .././Transistortester.c:639:

Wie war das nochmal?
> Ich habe eben nochmals alle Dateien durchgesehen. Es sind überall nur .h
> Dateien eingebunden

von Bruno M. (brumay)


Lesenswert?

Stefan Ernst schrieb:

>In Transistortester.c gibt es mit Sicherheit ein #include "CheckPins.c"

Da hast Du natürlich recht!

Ich war nicht davon ausgegangen, daß #include auch mitten im Code 
versteckt sind.

von Stefan E. (sternst)


Lesenswert?

Ich habe mir jetzt mal die Mühe gemacht und habe mich im anderen Thread 
auf die Suche nach dem ursprünglichen Code gemacht.

> Dabei ist alles identisch, bis auf den Makefile.

Das stimmt auch nicht. Du hast in CheckPins.c und ReadCapacity.c das 
#include "Transistortester.h" hinzugefügt.

Ziemlich dürftige Informationspolitik deinerseits.

von Bruno M. (brumay)


Lesenswert?

Stefan Ernst schrieb:

>Das stimmt auch nicht. Du hast in CheckPins.c und ReadCapacity.c das
#include "Transistortester.h" hinzugefügt.

Ziemlich dürftige Informationspolitik deinerseits.

Sorry, so sollte das nicht ankommen!

Ich bin ja nun schon einige Tage an diesem Problem und habe wie bereits 
in meiner ersten Anfrage geschrieben, schon selbst versucht die 
Fehlermeldungen zu beseitigen. Die Änderungen, die meiner Ansicht nach 
geholfen haben, habe ich natürlich auch jetzt immer noch drin. Ich gebe 
aber zu, daß ich mir über etwaige andere Probleme die ich mir damit 
eingehandelt habe könnte, nicht im Klaren bin.

von Stefan E. (sternst)


Lesenswert?

Bruno M. schrieb:
> Die Änderungen, die meiner Ansicht nach
> geholfen haben, habe ich natürlich auch jetzt immer noch drin.

Sie sind aber die Ursache für dein aktuelles Problem. Und die Probleme, 
die du ohne diese Änderungen hast, sind das Resultat davon, dass du 
CheckPins.c und ReadCapacity.c zusätzlich separat zu übersetzen 
versuchst.

von Bruno M. (brumay)


Lesenswert?

Stefan Ernst schrieb:

>Und die Probleme,
>die du ohne diese Änderungen hast, sind das Resultat davon, dass du
>CheckPins.c und ReadCapacity.c zusätzlich separat zu übersetzen
>versuchst.

Kannst du mir näher erklären, was du damit meinst.

von Stefan E. (sternst)


Lesenswert?

Bruno M. schrieb:
> Stefan Ernst schrieb:
>
>>Und die Probleme,
>>die du ohne diese Änderungen hast, sind das Resultat davon, dass du
>>CheckPins.c und ReadCapacity.c zusätzlich separat zu übersetzen
>>versuchst.
>
> Kannst du mir näher erklären, was du damit meinst.

1
5.1\extensions\Atmel\AVRGCC\3.3.1.27\AVRToolchain\bin\avr-gcc.exe" 
2
... ".././CheckPins.c"
3
4
5.1\extensions\Atmel\AVRGCC\3.3.1.27\AVRToolchain\bin\avr-gcc.exe" 
5
... ".././ReadCapacity.c"
6
7
5.1\extensions\Atmel\AVRGCC\3.3.1.27\AVRToolchain\bin\avr-gcc.exe" 
8
... ".././Transistortester.c"
Du wirfst alle drei Dateien dem Compiler zum Fraß vor. Richtig wäre es 
aber, das nur mit Transistortester.c zu tun (denn die anderen beiden 
werden dort ja inkludiert).

von Bruno M. (brumay)


Lesenswert?

Wenn ich dich richtig verstehe, müßte ich dafür den automatisch 
generierten Makefile ändern, oder reicht es diese Dateien nicht in das 
Projekt einzuschließen?

von Oliver (Gast)


Lesenswert?

Bruno M. schrieb:
> oder

Ja: oder ist richtig

Oliver

von Bruno M. (brumay)


Lesenswert?

Oliver, danke für die Info!


Stefan Ernst schrieb:

>Und die Probleme,
>die du ohne diese Änderungen hast, sind das Resultat davon, dass du
>CheckPins.c und ReadCapacity.c zusätzlich separat zu übersetzen
>versuchst.


So einfach scheint es nun doch nicht zu sein. Ich habe mein altes 
Projekt in die Tonne gekloppt, die Originaldateien, mit Ausnahme der 
oben genannten beiden c-Dateien in ein neues Projekt eingebunden und 
siehe da, ich fange mit den Fehlermeldungen wieder dort an, wo ich auch 
schon ganz am Anfang war.

von Peter II (Gast)


Lesenswert?

Bruno M. schrieb:
> siehe da, ich fange mit den Fehlermeldungen wieder dort an, wo ich auch
> schon ganz am Anfang war.

welche meldungen sind das jetzt genau?

von Bruno M. (brumay)


Lesenswert?

Peter II schrieb:
> Bruno M. schrieb:
>> siehe da, ich fange mit den Fehlermeldungen wieder dort an, wo ich auch
>> schon ganz am Anfang war.
>
> welche meldungen sind das jetzt genau?

Transistortester.c(178,18): 'TestRunning' undeclared (first use in this 
function)

Transistortester.c(178,18): each undeclared identifier is reported only 
once for each function it appears in

Transistortester.c(232,24): 'Diode' undeclared (first use in this 
function)

Transistortester.c(435,20): 'Thyristor' undeclared (first use in this 
function)

Transistortester.c(438,20): 'Triac' undeclared (first use in this 
function)

Transistortester.c(517,21): 'TestFailed1' undeclared (first use in this 
function)

Transistortester.c(519,21): 'TestFailed2' undeclared (first use in this 
function)

Transistortester.c(520,21): 'Bauteil' undeclared (first use in this 
function)

Transistortester.c(523,21): 'Unknown' undeclared (first use in this 
function)

Transistortester.c(525,21): 'OrBroken' undeclared (first use in this 
function)

Transistortester.c(536,18): 'GAK' undeclared (first use in this 
function)

von Bruno M. (brumay)


Lesenswert?

Nachtrag:

Diesse Fehlermeldungen erscheinen, weil jetzt natürlich wieder die 
Definitionen aus dem Makefile fehlen.

von Oliver (Gast)


Lesenswert?

Bruno M. schrieb:
> Oliver, danke für die Info!

Gern geschehen.

Dieser Thread ist mal wieder ein Beupiel dafür, was passiert, wenn ein 
TO seinen source code nicht zeigt. Reine Zeitvershcwendung auf allne 
Seiten.

Also: Pack DEINEN Source-Code in ein zip-File, und häng den hier an. 
Wenn du willst, zip das ganze Projektverzeichnis zusammen, auch wenn 
vermutlich kaum einer ein Studio 5 auf seinem Rechner hat. Alles andere 
hat keine Sinn.

Dann gibt es auch eine Lösung. Sonst nicht.

Oliver

von Bruno M. (brumay)


Lesenswert?

Oliver schrieb:

> Dieser Thread ist mal wieder ein Beupiel dafür, was passiert, wenn ein
> TO seinen source code nicht zeigt. Reine Zeitvershcwendung auf allne
> Seiten.
>
> Also: Pack DEINEN Source-Code in ein zip-File, und häng den hier an.
> Wenn du willst, zip das ganze Projektverzeichnis zusammen, auch wenn
> vermutlich kaum einer ein Studio 5 auf seinem Rechner hat. Alles andere
> hat keine Sinn.
>
> Dann gibt es auch eine Lösung. Sonst nicht.

Da Du offensichtlich später eingestiegen bist, ist der meine erste 
Anfrage nicht geläufig, in der ich auf den Ursprung
Beitrag "Transistortester AVR"
hinweise.

Nachdem ich die Konfigurationen des Makefiles wieder in die config.h 
eingefügt habe gibt es folgende Fehlermeldungen:
1
ReadCapacity.c(197,3): 'SFIOR' undeclared (first use in this function)
2
3
ReadCapacity.c(197,3): each undeclared identifier is reported only once for each function it appears in
4
5
ReadCapacity.c(207,3): 'TIFR' undeclared (first use in this function)

von Oliver (Gast)


Lesenswert?

Bruno M. schrieb:
> Da Du offensichtlich später eingestiegen bist, ist der meine erste
> Anfrage nicht geläufig, in der ich auf den Ursprung
> Beitrag "Transistortester AVR"
> hinweise.

Und du erwartest, daß da jemand aus den hunderten Beiträgen und 
dutzenden an Softwareversionen genau die rausfindet, die du verwenden 
möchtest?

Bruno M. schrieb:
> Nachdem ich die Konfigurationen des Makefiles wieder in die config.h
> eingefügt habe gibt es folgende Fehlermeldungen:

Entweder compilierst du für den falschen Prozessor, oder es fehlt die 
io.h

Oliver

von Bruno M. (brumay)


Lesenswert?

Oliver schrieb:

> Und du erwartest, daß da jemand aus den hunderten Beiträgen und
> dutzenden an Softwareversionen genau die rausfindet, die du verwenden
> möchtest?
>

Da das Projekt auf dem SVN Server abgelegt ist, habe ich natürlich die 
letzte Version genommen.
Aber an diesem Problem soll es natürlich nicht scheitern (siehe Anlage).

> Entweder compilierst du für den falschen Prozessor, oder es fehlt die
> io.h

Ich gehe davon aus, daß bei einem derartigen Fehler auch das Studio 4 
meckern würde.

von Bruno M. (brumay)


Angehängte Dateien:

Lesenswert?

Sorry, der Anhang ist nicht rüber gekommen.

von Peter II (Gast)


Lesenswert?

Bruno M. schrieb:
> Ich gehe davon aus, daß bei einem derartigen Fehler auch das Studio 4
> meckern würde.

den Prozesser musst du aber im Studio anstellen, eventuell ist der ja 
nicht übernommen wurden.

von Bruno M. (brumay)


Lesenswert?

Peter II schrieb:

> den Prozesser musst du aber im Studio anstellen, eventuell ist der ja
> nicht übernommen wurden.

das habe ich gemacht und er erscheint auch.
Es liegt aber wahrscheinlich an den aus dem Makefile übernommenen 
Konfigurationen.

In config.h ist enthalten:
1
#elif defined(__AVR_ATmega168__)

und ich habe übernommen:
1
#define MCU   atmega168

wahrscheinlich findet er dann nichts und läuft automatisch zum ATmega 8

von Stefan E. (sternst)


Lesenswert?

Bruno M. schrieb:
> und ich habe übernommen:
> #define MCU   atmega168

Das ist ohne Funktion.
Du musst den Controller direkt im AVR-Studio einstellen.

EDIT: Ach, ich sehen am obigen Build-Output, woran es liegt. Wähle den 
Mega168 aus (ohne 'A').

von Bruno M. (brumay)


Lesenswert?

Stefan Ernst schrieb:
> Bruno M. schrieb:
>> und ich habe übernommen:
>> #define MCU   atmega168
>
> Das ist ohne Funktion.
> Du musst den Controller direkt im AVR-Studio einstellen.

Wie schon gesagt, das habe ich gemacht und er wird auch unter Properties 
angezeigt.

von Stefan E. (sternst)


Lesenswert?

Bruno M. schrieb:
> Wie schon gesagt, das habe ich gemacht und er wird auch unter Properties
> angezeigt.

Siehe mein EDIT oben.

Alternativ kannst du auch in config.h diese Zeile
1
#elif defined(__AVR_ATmega168__)
ändern in
1
#elif defined(__AVR_ATmega168__) || defined(__AVR_ATmega168A__)

von Bruno M. (brumay)


Lesenswert?

Ich muß schon sagen, ich finde es super, daß Ihr noch immer nicht die 
Geduld verloren habt. Andererseits habe ich schon jetzt sehr viel 
gelernt.

Eventuell würde es aber die Problemlösung wirklich beschleunigen wenn 
jemand von Euch den Code selbst im Studio 5 laufen lassen würde. Oder 
bin ich wirklich der Einzige damit.

von Bruno M. (brumay)


Lesenswert?

Stefan Ernst schrieb:

> Siehe mein EDIT oben.
>

das hatte ich übersehen!

Ich habe die Properties abgeändert und offensichtlich hat das gewirkt. 
Jetzt zeigt er aber 187 neue Fehler an.

D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././ReadADC.s(17,1):  R_AVR_13_PCREL against symbol `wait10ms' 
defined in .text section in wait1000ms.o
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././ReadADC.s(18,1):  R_AVR_13_PCREL against symbol `wait5ms' 
defined in .text section in wait1000ms.o
    ReadADC.o: In function `W5msReadADC':
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././ReadADC.s(23,1):  R_AVR_13_PCREL against symbol `wait5ms' 
defined in .text section in wait1000ms.o
    ReadADC.o: In function `w3f6':
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././ReadADC.s(70,1):  R_AVR_13_PCREL against symbol `wait300us' 
defined in .text section in wait1000ms.o
    ReadADC.o: In function `diviret':
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././ReadADC.s(238,1):  R_AVR_13_PCREL against symbol 
`__udivmodhi4' defined in .text.libgcc section in c:/program files 
(x86)/atmel/avr studio 
5.1/extensions/atmel/avrgcc/3.3.1.27/avrtoolchain/bin/../lib/gcc/avr/4.5 
.1/avr5\libgcc.a(_udivmodhi4.o)
    Transistortester.o: In function `mVAusgabe':
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(609,1):  undefined reference to `lcd_data'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(611,1):  undefined reference to `lcd_data'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(612,1):  undefined reference to `lcd_data'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(613,1):  undefined reference to `lcd_data'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(615,1):  undefined reference to `lcd_data'
    Transistortester.o:D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte 
\Transistortester\Debug/.././Transistortester.c:616:  more undefined 
references to `lcd_data' follow
    Transistortester.o: In function `UfAusgabe':
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(593,1):  undefined reference to 
`lcd_command'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(594,1):  undefined reference to 
`lcd_fix_string'
    Transistortester.o: In function `lcd_clear_line':
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(865,1):  undefined reference to `lcd_data'
    Transistortester.o: In function `value_out':
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(903,1):  undefined reference to `lcd_data'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(904,1):  undefined reference to `lcd_data'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(907,1):  undefined reference to `lcd_data'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(908,1):  undefined reference to `lcd_data'
    Transistortester.o:D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte 
\Transistortester\Debug/.././Transistortester.c:790:  more undefined 
references to `lcd_data' follow
    Transistortester.o: In function `AutoCheck':
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(948,1):  undefined reference to `lcd_clear'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(949,1):  undefined reference to 
`lcd_command'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(950,1):  undefined reference to 
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(955,1):  undefined reference to 
`lcd_command'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(957,1):  undefined reference to 
`lcd_command'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(959,1):  undefined reference to 
`lcd_command'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(960,1):  undefined reference to `lcd_data'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(961,1):  undefined reference to `lcd_data'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(962,1):  undefined reference to `lcd_data'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(966,1):  undefined reference to 
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(967,1):  undefined reference to 
`lcd_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(968,1):  undefined reference to 
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(969,1):  undefined reference to 
`lcd_command'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(970,1):  undefined reference to 
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(971,1):  undefined reference to 
`lcd_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(973,1):  undefined reference to 
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(974,1):  undefined reference to 
`lcd_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(986,1):  undefined reference to 
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(997,1):  undefined reference to 
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(1000,1):  undefined reference to 
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(1012,1):  undefined reference to 
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(1024,1):  undefined reference to 
`lcd_fix_string'
    Transistortester.o:D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte 
\Transistortester\Debug/.././Transistortester.c:1041:  more undefined 
references to `lcd_fix_string' follow
    Transistortester.o: In function `AutoCheck':
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(1075,1):  undefined reference to 
`lcd_command'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(1076,1):  undefined reference to 
`lcd_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(1077,1):  undefined reference to `lcd_data'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(1078,1):  undefined reference to 
`lcd_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(1079,1):  undefined reference to `lcd_data'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(1080,1):  undefined reference to 
`lcd_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(1099,1):  undefined reference to 
`lcd_clear'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(1100,1):  undefined reference to 
`lcd_command'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(1101,1):  undefined reference to 
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(1102,1):  undefined reference to 
`lcd_command'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(1103,1):  undefined reference to 
`lcd_fix_string'
    Transistortester.o: In function `main':
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(44,1):  undefined reference to `lcd_init'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(52,1):  undefined reference to 
`lcd_command'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(53,1):  undefined reference to 
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(58,1):  undefined reference to 
`lcd_command'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(59,1):  undefined reference to 
`lcd_fix_customchar'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(60,1):  undefined reference to 
`lcd_command'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(61,1):  undefined reference to 
`lcd_fix_customchar'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(63,1):  undefined reference to 
`lcd_command'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(64,1):  undefined reference to 
`lcd_fix_customchar'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(67,1):  undefined reference to 
`lcd_command'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(68,1):  undefined reference to 
`lcd_fix_customchar'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(69,1):  undefined reference to 
`lcd_command'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(70,1):  undefined reference to 
`lcd_fix_customchar'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(99,1):  undefined reference to `lcd_clear'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(124,1):  undefined reference to 
`lcd_command'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(125,1):  undefined reference to 
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(132,1):  undefined reference to `lcd_data'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(134,1):  undefined reference to `lcd_data'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(135,1):  undefined reference to `lcd_data'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(136,1):  undefined reference to `lcd_data'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(138,1):  undefined reference to `lcd_data'
    Transistortester.o:D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte 
\Transistortester\Debug/.././Transistortester.c:139:  more undefined 
references to `lcd_data' follow
    Transistortester.o: In function `main':
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(157,1):  undefined reference to 
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(162,1):  undefined reference to 
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(164,1):  undefined reference to 
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(178,1):  undefined reference to 
`lcd_command'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(179,1):  undefined reference to 
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(190,1):  undefined reference to 
`lcd_command'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(196,1):  undefined reference to `lcd_clear'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(197,1):  undefined reference to 
`lcd_command'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(198,1):  undefined reference to `lcd_data'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(199,1):  undefined reference to `lcd_data'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(200,1):  undefined reference to `lcd_data'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(201,1):  undefined reference to `lcd_data'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(202,1):  undefined reference to `lcd_data'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(229,1):  undefined reference to `lcd_clear'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(230,1):  undefined reference to 
`lcd_command'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(233,1):  undefined reference to 
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(234,1):  undefined reference to `lcd_ziff1'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(235,1):  undefined reference to 
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(236,1):  undefined reference to `lcd_ziff1'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(239,1):  undefined reference to 
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(245,1):  undefined reference to `lcd_data'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(246,1):  undefined reference to 
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(248,1):  undefined reference to `lcd_ziff1'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(249,1):  undefined reference to 
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(250,1):  undefined reference to `lcd_ziff1'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(251,1):  undefined reference to 
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(252,1):  undefined reference to `lcd_ziff1'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(256,1):  undefined reference to `lcd_ziff1'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(257,1):  undefined reference to 
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(258,1):  undefined reference to `lcd_ziff1'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(259,1):  undefined reference to 
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(260,1):  undefined reference to `lcd_ziff1'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(266,1):  undefined reference to `lcd_ziff1'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(267,1):  undefined reference to 
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(268,1):  undefined reference to `lcd_ziff1'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(269,1):  undefined reference to 
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(270,1):  undefined reference to `lcd_ziff1'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(334,1):  undefined reference to `lcd_data'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(335,1):  undefined reference to 
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(336,1):  undefined reference to `lcd_ziff1'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(337,1):  undefined reference to 
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(338,1):  undefined reference to `lcd_ziff1'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(339,1):  undefined reference to 
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(340,1):  undefined reference to `lcd_ziff1'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(360,1):  undefined reference to 
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(362,1):  undefined reference to 
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(366,1):  undefined reference to 
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(368,1):  undefined reference to 
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(371,1):  undefined reference to 
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(372,1):  undefined reference to `lcd_ziff1'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(373,1):  undefined reference to `lcd_ziff1'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(374,1):  undefined reference to `lcd_ziff1'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(375,1):  undefined reference to 
`lcd_command'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(376,1):  undefined reference to 
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(377,1):  undefined reference to 
`lcd_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(378,1):  undefined reference to `lcd_data'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(383,1):  undefined reference to 
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(393,1):  undefined reference to `lcd_data'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(395,1):  undefined reference to `lcd_data'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(397,1):  undefined reference to `lcd_data'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(399,1):  undefined reference to `lcd_data'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(400,1):  undefined reference to 
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(403,1):  undefined reference to 
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(405,1):  undefined reference to `lcd_data'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(406,1):  undefined reference to 
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(411,1):  undefined reference to 
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(416,1):  undefined reference to 
`lcd_command'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(417,1):  undefined reference to 
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(418,1):  undefined reference to `lcd_ziff1'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(419,1):  undefined reference to `lcd_ziff1'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(420,1):  undefined reference to `lcd_ziff1'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(423,1):  undefined reference to `lcd_data'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(425,1):  undefined reference to `lcd_data'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(428,1):  undefined reference to 
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(430,1):  undefined reference to 
`lcd_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(431,1):  undefined reference to `lcd_data'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(436,1):  undefined reference to 
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(439,1):  undefined reference to 
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(445,1):  undefined reference to `lcd_ziff1'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(446,1):  undefined reference to 
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(447,1):  undefined reference to `lcd_ziff1'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(461,1):  undefined reference to `lcd_data'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(462,1):  undefined reference to 
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(463,1):  undefined reference to `lcd_data'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(464,1):  undefined reference to 
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(465,1):  undefined reference to `lcd_data'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(468,1):  undefined reference to `lcd_data'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(469,1):  undefined reference to 
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(470,1):  undefined reference to `lcd_data'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(471,1):  undefined reference to 
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(472,1):  undefined reference to `lcd_data'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(475,1):  undefined reference to `lcd_data'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(476,1):  undefined reference to 
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(477,1):  undefined reference to `lcd_data'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(478,1):  undefined reference to 
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(479,1):  undefined reference to `lcd_data'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(482,1):  undefined reference to 
`lcd_command'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(509,1):  undefined reference to `lcd_ziff1'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(510,1):  undefined reference to 
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(511,1):  undefined reference to `lcd_ziff1'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(512,1):  undefined reference to 
`lcd_command'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(518,1):  undefined reference to 
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(519,1):  undefined reference to 
`lcd_command'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(520,1):  undefined reference to 
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(521,1):  undefined reference to 
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(523,1):  undefined reference to 
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(524,1):  undefined reference to 
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(525,1):  undefined reference to 
`lcd_command'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(526,1):  undefined reference to 
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(527,1):  undefined reference to `lcd_data'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(528,1):  undefined reference to 
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(536,1):  undefined reference to 
`lcd_command'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(537,1):  undefined reference to 
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(538,1):  undefined reference to `lcd_ziff1'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(539,1):  undefined reference to `lcd_ziff1'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
ebug/.././Transistortester.c(540,1):  undefined reference to `lcd_ziff1'

von Oliver (Gast)


Lesenswert?

Im makefile findet sich folgende Zeile:
>OBJECTS = lcd-routines.o main.o swuart.o wait1000ms.o CombineToLong.o ReadADC.o

Die Source-Dateien dazu müssen kompiliert bzw. assembliert werden, also 
füge genau die deinem Projekt hinzu.

Oliver

von Bruno M. (brumay)


Lesenswert?

Oliver schrieb:
> Im makefile findet sich folgende Zeile:
>>OBJECTS = lcd-routines.o main.o swuart.o wait1000ms.o CombineToLong.o ReadADC.o
>
> Die Source-Dateien dazu müssen kompiliert bzw. assembliert werden, also
> füge genau die deinem Projekt hinzu.
>
> Oliver

.o Files gibt es ja nicht, alle anderen .h und .s Files sind enthalten. 
Aus main.c ist Transistortester.c geworden, der natürlich auch enthalten 
ist.

von Stefan E. (sternst)


Lesenswert?

Bruno M. schrieb:
> .o Files gibt es ja nicht, alle anderen .h und .s Files sind enthalten.
> Aus main.c ist Transistortester.c geworden, der natürlich auch enthalten
> ist.

lcd-routines.c hast du vergessen.

Außerdem die Optimierungsstufe auf 's' stellen.

von Stefan E. (sternst)


Lesenswert?

Und mal so ganz nebenbei:
Wozu eigentlich dieses ganze Gefrickel? Wieso benutzt du nicht auch im 
Studio5 einfach das mitgelieferte Makefile?

von Bruno M. (brumay)


Lesenswert?

Stefan Ernst schrieb:

>
> lcd-routines.c hast du vergessen.
>
> Außerdem die Optimierungsstufe auf 's' stellen.

Ich war irrtümlich davon ausgegangen, daß alle .c Dateien bereits 
eingeschlossen sind.

Nachdem lcd-routines.c ebenfalls eingeschlossen ist bleiben von den 187 
Fehlermeldungen noch die ersten 5.

Optimierungsstufe???? Wie und wo stelle ich das ein? Ich hab zwar in 
meinem schlauen Buch geblättert, aber nichts brauchbares gefunden!

von Bruno M. (brumay)


Lesenswert?

Ich bin fündig geworden! Allerdings gibt es bei mir kein s sondern nur 
0s. Hatte aber auf das Ergebnis keinen Einfluß.

von Bruno M. (brumay)


Lesenswert?

Stefan Ernst schrieb:
> Und mal so ganz nebenbei:
> Wozu eigentlich dieses ganze Gefrickel? Wieso benutzt du nicht auch im
> Studio5 einfach das mitgelieferte Makefile?

Das habe ich natürlich als erstes versucht, aber auch das klappte nicht.

Folgende Build Meldung:

------ Build started: Project: Transistortester, Configuration: Debug 
AVR ------
Build started.
Project "Transistortester.cproj" (default targets):
Target "PreBuildEvent" skipped, due to false condition; 
('$(PreBuildEvent)'!='') was evaluated as (''!='').
Target "CoreBuild" in file "C:\Program Files (x86)\Atmel\AVR Studio 
5.1\Vs\Compiler.targets" from project 
"D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\ 
Transistortester.cproj"  (target "Build" depends on it):
  Task "RunCompilerTask"
    C:\Program Files (x86)\Atmel\AVR Studio 5.1\make\make.exe -C 
"D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\ 
Eigener  Makefile" -f "Makefile" all
    Das System kann den angegebenen Pfad nicht finden.
    make: Entering directory 
`D:/Documents/Elektronik/Mikroprozessoren/GCC/Projekte/Transistortester/ 
Eigener  Makefile'
    avr-gcc  -Wall -DWITH_SELFTEST -DWITH_AUTO_REF -DREF_C_KORR=16 
-DR_MESS -DC_MESS -DCAP_EMPTY_LEVEL=3 -DAUTOSCALE_ADC -DNO_AREF_CAP 
-DUSE_EEPROM -DPULLUP_DISABLE -DANZ_MESS=44 -DPOWER_OFF=5 -DBAT_CHECK 
-DBAT_OUT=150 -DBAT_POOR=64 -DF_CPU=8000000UL -mmcu=atmega168 -gdwarf-2 
-std=gnu99 -Os -funsigned-char -funsigned-bitfields -fpack-struct 
-fshort-enums -MD -MP -MT lcd-routines.o -MF dep/lcd-routines.o.d  -c 
../lcd-routines.c
    process_begin: CreateProcess(NULL, avr-gcc -Wall -DWITH_SELFTEST 
-DWITH_AUTO_REF -DREF_C_KORR=16 -DR_MESS -DC_MESS -DCAP_EMPTY_LEVEL=3 
-DAUTOSCALE_ADC -DNO_AREF_CAP -DUSE_EEPROM -DPULLUP_DISABLE 
-DANZ_MESS=44 -DPOWER_OFF=5 -DBAT_CHECK -DBAT_OUT=150 -DBAT_POOR=64 
-DF_CPU=8000000UL -mmcu=atmega168 -gdwarf-2 -std=gnu99 -Os 
-funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -MD -MP 
-MT lcd-routines.o -MF dep/lcd-routines.o.d -c ../lcd-routines.c, ...) 
failed.
    make (e=2): Das System kann die angegebene Datei nicht finden.
    make: *** [lcd-routines.o] Error 2
    make: Leaving directory 
`D:/Documents/Elektronik/Mikroprozessoren/GCC/Projekte/Transistortester/ 
Eigener  Makefile'
  Done executing task "RunCompilerTask" -- FAILED.
Done building target "CoreBuild" in project "Transistortester.cproj" -- 
FAILED.
Done building project "Transistortester.cproj" -- FAILED.

Build FAILED.
========== Build: 0 succeeded or up-to-date, 1 failed, 0 skipped 
==========

von Oliver (Gast)


Lesenswert?

Bruno M. schrieb:
> Nachdem lcd-routines.c ebenfalls eingeschlossen ist bleiben von den 187
> Fehlermeldungen noch die ersten 5.

Tja, da wird es jetzt ungemütlich...

Das ist ein Bug in der toolchain. Da das Compilieren bei mir mit 
WinAVR2010 per mitgeliefertem makefile funktioniert, aber in Eclipse 
auch diese Feherlmeldungen bringt, dürfte eine geänderte 
link-Reihenfolge das Problem umgehen. Nur leider weiß ich weder fürs 
Studio, noch für Eclipse, wie man das der IDE bei der automatsichen 
Makefileerstellung beibringt.

Aber warum kompilierst du nicht einfach mit dem mitgelieferten makefile?
An den Sourcen solltest du bei deinem aktuellen Kenntnissstand eh nicht 
herumändern...

Oliver

von Bruno M. (brumay)


Lesenswert?

Oliver schrieb:
>
> Aber warum kompilierst du nicht einfach mit dem mitgelieferten makefile?

Dein Beitrag hat sich mit meiner Antwort überschnitten!

von Stefan E. (sternst)


Lesenswert?

Bruno M. schrieb:
> Das habe ich natürlich als erstes versucht, aber auch das klappte nicht.

Du musst auch
a) das Makefile genau da belassen, wo es ist, und
b) im Studio den richtigen Pfad auswählen.

von Bruno M. (brumay)


Lesenswert?

Stefan Ernst schrieb:

> Du musst auch
> a) das Makefile genau da belassen, wo es ist, und
> b) im Studio den richtigen Pfad auswählen.

Ich habe das Makefile schon an 3 Stellen versucht:

1) im Order "Transistortester/Eigener Makefile"
2) im Ordner "Transistortester" und
3) im Oedner "Transistortester/Debug", wo es normalerweise steht.

Den Pfad habe ich jeweils in den Properties eingetragen.

Keinen File hat er gefunden???

von Bruno M. (brumay)


Lesenswert?

Sollte Euch nicht noch etwas ganz Schlaues einfallen, dann bin ich 
geneigt das Thema unter Erfahrung zu verbuchen. Wenn es auch kein 
positives Ergebnis gebracht hat, so habe ich, wie schon vorher 
festgestellt, viel dazugelernt.

Bei Euch allen, die so viel Zeit investiert haben, bedanke ich mich 
herzlich!

Gruß Bruno

von Stefan E. (sternst)


Lesenswert?

Bruno M. schrieb:
> Ich habe das Makefile schon an 3 Stellen versucht:

Was gibt es da zu versuchen?
Du sollst das mitgelieferte Makefile genau da lassen, wo es ist.

von Bruno M. (brumay)


Lesenswert?

Stefan Ernst schrieb:
>
> Was gibt es da zu versuchen?
> Du sollst das mitgelieferte Makefile genau da lassen, wo es ist.

Dann füge ich noch einen 4. Versuch hinzu:

4) im Oedner "Transistortester/Debug", da steht es ja im Original.

Ergebnis unverändert!

von Bruno M. (brumay)


Lesenswert?

Sorry, Debug sollte default heißen. Das kommt vom kopieren.

von Oliver (Gast)


Lesenswert?

Vergiß doch das Studio, das bringt dir gar nichts.

Mach ein Kommandogfenster auf (Dos-Box), wechsel dort in das Verzeichnis 
"default", un dann tippst du "make" und "Enter".

Entweder kompiliert dann alles, oder es gibt eine Fehlermeldung, daß 
make nicht gefunden wird. Sollte das der Fall sein, den Pfad des 
Verzeichnisses, das avr-gcc enthält, in den Systemeinstellungen 
eintragen, neue shell starten, und nochmal probieren.

Oliver

von Stefan E. (sternst)


Lesenswert?

Bruno M. schrieb:
> 4) im Oedner "Transistortester/Debug", da steht es ja im Original.

Nein, tut es nicht!
In den Originalsourcen (die du selber als ZIP geliefert hast) gibt es 
gar keinen Ordner "Debug". Dieser Ordner wird erst durch das AVR-Studio 
angelegt. Also hast du selber das Makefile dort hinein 
verschoben/kopiert.

Zum dritten (und auf jeden Fall letzten) mal:
Du sollst das Makefile genau da lassen, wo es von vornherein schon ist. 
Du sollst es NICHT irgendwohin verschieben oder kopieren.

von Stefan E. (sternst)


Lesenswert?

Oliver schrieb:
> Vergiß doch das Studio, das bringt dir gar nichts.

Gerade mal selber ausprobiert. Funktioniert problemlos. Externes 
Makefile ausgewählt, Pfad angegeben, Build Solution angeklickt und 
voilà, kein Problem.

von Bruno M. (brumay)


Lesenswert?

Stefan Ernst schrieb:
> Bruno M. schrieb:
>> 4) im Oedner "Transistortester/Debug", da steht es ja im Original.
>
> Nein, tut es nicht!
> In den Originalsourcen (die du selber als ZIP geliefert hast) gibt es
> gar keinen Ordner "Debug". Dieser Ordner wird erst durch das AVR-Studio
> angelegt. Also hast du selber das Makefile dort hinein
> verschoben/kopiert.
>
> Zum dritten (und auf jeden Fall letzten) mal:
> Du sollst das Makefile genau da lassen, wo es von vornherein schon ist.
> Du sollst es NICHT irgendwohin verschieben oder kopieren.

Du hast offensichtlich meine Korrektur nicht gelesen.
Was den Ton betrifft, so will ich mich dazu nicht äußern.

von Bruno M. (brumay)


Lesenswert?

Stefan Ernst schrieb:

>
> Gerade mal selber ausprobiert. Funktioniert problemlos. Externes
> Makefile ausgewählt, Pfad angegeben, Build Solution angeklickt und
> voilà, kein Problem.

Das macht mich nun doch wieder neugierig. Wenn ich Dich richtig 
verstehe, dann hast Du es im Studio 5 getestet, oder?

Das Problem mit dem falschen Pfad konnte ich aufklären:

Studio 5 legt ja beim Eröffnen eines Projektes sofort immer die 
gleichnamige .c Datei an, in meinem Fall also Transistortester.c. Damit 
gibt es das File main.c wie es im Ursprungsprojekt benannt ist, nicht.

Nun habe ich im Makefile die Datei main.c durch Transistortester.c 
ersetzt, worauf mit dem Bezug auf das Makefile die Fehlermeldung "*** 
missing separator. Stop" kam.

Wenn ich die ursprüngliche main.c einschließe und Transistortester 
entferne, zeigt Build folgendes:
------ Rebuild All started: Project: Transistortester, Configuration: 
Debug AVR ------
Build started.
Project "Transistortester.cproj" (ReBuild target(s)):
Target "PreBuildEvent" skipped, due to false condition; 
('$(PreBuildEvent)'!='') was evaluated as (''!='').
Target "CoreRebuild" in file "C:\Program Files (x86)\Atmel\AVR Studio 
5.1\Vs\Compiler.targets" from project 
"D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\ 
Transistortester.cproj"  (target "ReBuild" depends on it):
  Task "RunCompilerTask"
    C:\Program Files (x86)\Atmel\AVR Studio 5.1\make\make.exe -C 
"D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\ 
default"  -f "Makefile" clean all
    Das System kann den angegebenen Pfad nicht finden.
    make: Entering directory 
`D:/Documents/Elektronik/Mikroprozessoren/GCC/Projekte/Transistortester/ 
default'
    rm: cannot lstat `dep/*': Invalid argument
    rm -rf lcd-routines.o main.o swuart.o wait1000ms.o CombineToLong.o 
ReadADC.o TransistorTester.elf dep/* TransistorTester.hex 
TransistorTester.eep TransistorTester.lss TransistorTester.map
    make: [clean] Error 1 (ignored)
    avr-gcc  -Wall -DWITH_SELFTEST -DWITH_AUTO_REF -DREF_C_KORR=16 
-DR_MESS -DC_MESS -DCAP_EMPTY_LEVEL=3 -DAUTOSCALE_ADC -DNO_AREF_CAP 
-DUSE_EEPROM -DPULLUP_DISABLE -DANZ_MESS=44 -DPOWER_OFF=5 -DBAT_CHECK 
-DBAT_OUT=150 -DBAT_POOR=64 -DF_CPU=8000000UL -mmcu=atmega168 -gdwarf-2 
-std=gnu99 -Os -funsigned-char -funsigned-bitfields -fpack-struct 
-fshort-enums -MD -MP -MT lcd-routines.o -MF dep/lcd-routines.o.d  -c 
../lcd-routines.c
    process_begin: CreateProcess(NULL, avr-gcc -Wall -DWITH_SELFTEST 
-DWITH_AUTO_REF -DREF_C_KORR=16 -DR_MESS -DC_MESS -DCAP_EMPTY_LEVEL=3 
-DAUTOSCALE_ADC -DNO_AREF_CAP -DUSE_EEPROM -DPULLUP_DISABLE 
-DANZ_MESS=44 -DPOWER_OFF=5 -DBAT_CHECK -DBAT_OUT=150 -DBAT_POOR=64 
-DF_CPU=8000000UL -mmcu=atmega168 -gdwarf-2 -std=gnu99 -Os 
-funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -MD -MP 
-MT lcd-routines.o -MF dep/lcd-routines.o.d -c ../lcd-routines.c, ...) 
failed.
    make (e=2): Das System kann die angegebene Datei nicht finden.
    make: *** [lcd-routines.o] Error 2
    make: Leaving directory 
`D:/Documents/Elektronik/Mikroprozessoren/GCC/Projekte/Transistortester/ 
default'
  Done executing task "RunCompilerTask" -- FAILED.
Done building target "CoreRebuild" in project "Transistortester.cproj" 
-- FAILED.
Done building project "Transistortester.cproj" -- FAILED.

Build FAILED.
========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========

von Stefan E. (sternst)


Lesenswert?

Bruno M. schrieb:
> Das macht mich nun doch wieder neugierig. Wenn ich Dich richtig
> verstehe, dann hast Du es im Studio 5 getestet, oder?

Ja, und auch im Studio 6.

von Bruno M. (brumay)


Lesenswert?

Stefan Ernst schrieb:
> Bruno M. schrieb:
>> Das macht mich nun doch wieder neugierig. Wenn ich Dich richtig
>> verstehe, dann hast Du es im Studio 5 getestet, oder?
>
> Ja, und auch im Studio 6.

Dann beschreibe doch bitte im Detail was Du gemacht hast.

Ich mache folgendes:
- Eröffnung eines Projektes mit dem Namen Transistortester
- kopieren des Codes von main.c nach Transistortester.c
- kopieren aller Originalfiles in den Ordner Transistortester
- einschließen der übrigen Files in das Projekt
- Änderung im Makefile (main.c gegen Transistortester.c)
- Einstellung des externen Makefiles in den Properties und build

von Stefan E. (sternst)


Lesenswert?

Bruno M. schrieb:
> Dann beschreibe doch bitte im Detail was Du gemacht hast.

Habe ich eigentlich schon, es war nicht mehr als das.
Projekt angelegt, ZIP-Inhalt kopiert, externes Makefile eingestellt, und 
dann Build.

von Bruno M. (brumay)


Lesenswert?

Stefan Ernst schrieb:
>
> Habe ich eigentlich schon, es war nicht mehr als das.
> Projekt angelegt, ZIP-Inhalt kopiert, externes Makefile eingestellt, und
> dann Build.

D.h. Du hast main.c eingeschlossen und Transistortester.c entfernt, 
oder?

von Stefan E. (sternst)


Lesenswert?

Bruno M. schrieb:
> D.h. Du hast main.c eingeschlossen und Transistortester.c entfernt,
> oder?

Habe ich denn geschrieben, dass ich das gemacht hätte?

Was du ins Projekt einschließt ist für das Compilieren komplett 
irrelevant, denn es wird ja ein externes Makefile verwendet. Das spielt 
höchstens eine Rolle beim Editieren.

von Bruno M. (brumay)


Lesenswert?

OK, das war es dann wohl. Ich kann es drehen und wenden wie ich will, 
bei mir funktioniert das so nicht!

von Bruno M. (brumay)


Lesenswert?

Oliver schrieb:
> Vergiß doch das Studio, das bringt dir gar nichts.
>
> Mach ein Kommandogfenster auf (Dos-Box), wechsel dort in das Verzeichnis
> "default", un dann tippst du "make" und "Enter".
>
> Entweder kompiliert dann alles, oder es gibt eine Fehlermeldung, daß
> make nicht gefunden wird. Sollte das der Fall sein, den Pfad des
> Verzeichnisses, das avr-gcc enthält, in den Systemeinstellungen
> eintragen, neue shell starten, und nochmal probieren.
>
> Oliver

Wie Du siehst habe ich noch immer nicht ganz aufgegeben.

Ich habe mal den von Dir vorgeschlagenen Weg versucht. Nachdem ich den 
Pfad eingetragen habe fing er auch an zu kompilieren, blieb dann aber, 
genau wie im Studio an den Dateien lcd-routines hängen. Daher habe ich 
mal statt des Bindestrichs einen Unterstrich eingefügt. Sowohl im Studio 
als auch im Kommandofenster hat es dazu geführt, daß sofort die 
Fehlermeldung "*** missing Separator. Stop" kam. D.h. auch im cmd lief 
davor gar nichts.

Können daraus Schlüsse gezogen werden?

von Bruno M. (brumay)


Lesenswert?

Zur Info:

Ich habe das Ding mit einem Standard Makefile zum Laufen gebracht.
Wie weiter oben berichtet, hatte ich ja mehrere Fehler wie z.B.
1
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D 
2
ebug/.././ReadADC.s(17,1):  R_AVR_13_PCREL against symbol `wait10ms' 
3
defined in .text section in wait1000ms.o

Alle diese Fehler bezogen sich auf die Datei ReadADC.S. Nun gibt es aber 
in diesem Projekt eine ReadADC.c, die identisch ist mit ReadADC.S, aber 
ohne Assembler auskommt. Versuchsweise habe ich nun einmal die .S 
ausgeschlossen und dafür die .c reingenommen und siehe da, es läuft.
Warum das so ist weiß ich noch nicht.

von Bruno M. (brumay)


Lesenswert?

Karl-Heinz Kübbeler schrieb:

> Eine mögliche Ursache für die Schwierigkeiten könnte ein rcall / call
> Problem sein. Wegen des größeren Adressraumes des ATmega168 kann ein
> rcall nur eingeschränkt benutzt werden. Der rcall ist ein
> Unterprogrammaufruf mit 2 Byte Code. Der call ist ebenfalls ein
> Unterprogrammaufruf aber mit 4 Byte Code, bei dem die Zieladresse dafür
> im gesamten Speicherbereich liegen kann. Die Zieladresse wait10ms ist
> eine externe Adresse. Möglicherweise mag Deine Compilerversion keine
> kurze Adressierung für externe Adressen. Die Vorgehensweise ist auch
> riskant, da sich ja erst beim Binden der übersetzten Objekt-Module (.o)
> herausstellt, ob die kurze Adressierung überhaupt möglich ist.
> Du kannst ja mal prüfen, ob sich die Fehlermeldungen alle auf rcall
> Befehle
> beziehen. In diesem Fall kann man bei allen "rcall wait..." Aufrufe und
> dem "rcall __udivmodhi4" Aufruf das r entfernen (call statt rcall).
> Dadurch wird dann 18 Byte mehr Code verbraucht, es verbleiben aber immer
> noch 62 Byte weniger als bei der C-Version.
> Dummerweise kennt der ATmega8 den call Befehl nicht, für eine
> universelle Assemblerfunktion müßte der Code mit #IF Abfragen angepaßt
> werden.

Damit ist auch das Problem mit ReadADC.S gelöst. Der Code läuft nun 
einwandfrei!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.