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
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
Gast
#2758941
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.
Gast
#2758954
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!
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.
Gast
#2759022
du hast bestimmt irgendwo #include <*.c> drinne stehen.
Ich habe eben nochmals alle Dateien durchgesehen. Es sind überall nur .h Dateien eingebunden
Gast
#2759044
dann poste doch mal bitte die genauen ausgaben vom build vorgang.
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 ==========
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.
Ich tippe auf Mehrfach-Include von Transistortester.h. Bruno M. schrieb: > habe ich all diese Einstellungen in eine Datei config.h Inhalt posten.
Gast
#2759109
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.
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.
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
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?
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"
In Transistortester.c gibt es mit Sicherheit ein #include "CheckPins.c", das kann man auch hier sehen:
1 | |
2 | |
Wie war das nochmal? > Ich habe eben nochmals alle Dateien durchgesehen. Es sind überall nur .h > Dateien eingebunden
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.
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.
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.
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.
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.
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 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
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).
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?
Gast
#2759743
Bruno M. schrieb: > oder Ja: oder ist richtig Oliver
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.
Gast
#2759905
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?
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)
Nachtrag: Diesse Fehlermeldungen erscheinen, weil jetzt natürlich wieder die Definitionen aus dem Makefile fehlen.
Gast
#2759957
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
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 | |
2 | |
3 | |
4 | |
5 | |
Gast
#2760042
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
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.
Sorry, der Anhang ist nicht rüber gekommen.
Gast
#2760101
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.
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 | |
und ich habe übernommen:
1 | |
wahrscheinlich findet er dann nichts und läuft automatisch zum ATmega 8
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').
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.
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 | |
ändern in
1 | |
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.
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'
Gast
#2760286
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
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.
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.
Und mal so ganz nebenbei: Wozu eigentlich dieses ganze Gefrickel? Wieso benutzt du nicht auch im Studio5 einfach das mitgelieferte Makefile?
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!
Ich bin fündig geworden! Allerdings gibt es bei mir kein s sondern nur 0s. Hatte aber auf das Ergebnis keinen Einfluß.
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 ==========
Gast
#2760587
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
Oliver schrieb: > > Aber warum kompilierst du nicht einfach mit dem mitgelieferten makefile? Dein Beitrag hat sich mit meiner Antwort überschnitten!
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.
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???
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
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.
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!
Sorry, Debug sollte default heißen. Das kommt vom kopieren.
Gast
#2760667
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
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.
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.
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.
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 ==========
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.
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
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.
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?
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.
OK, das war es dann wohl. Ich kann es drehen und wenden wie ich will, bei mir funktioniert das so nicht!
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?
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 | |
2 | |
3 | |
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.
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!
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.