Ok das Programm läuft erstmal habe aber noch eine Frage zu einem anderen

Und zwar soll dieses Programm einer Wärmequelle wirklich hinter her fahren, hab noch ein Fehler den bekomm ich aber nicht weg, vllt könnt ihr mir helfen

Code:
#include "avr/io.h"
#include "stdlib.h" 
#include "G:/FGT2-TE/03-Programmieren-in-C/AsuroLib-v280rc1/lib/inc/asuro.h"


#define THRESH1 20 // Schwellen für die intensitätsabhängige Geschwindigkeit
#define THRESH2 80
#define THRESH3 200
void ThermalData (unsigned int *data) 
{
// Multiplexer auf linken Sensor schalten
   ADMUX = (1 << REFS0) | (1 << REFS1) | IR_LEFT;
   // Wandlung starten
   ADCSRA |= (1 << ADSC);
   // Warten, bis Wandlung beendet
   while (!(ADCSRA & (1 << ADIF)));
   // ADCIF zurücksetzen
   ADCSRA |= (1 << ADIF);
   // ADC-Wert auslesen
   data[0] = ADCL + (ADCH << 8);

   // Prozessorinterne Referenz verwenden
   // Multiplexer auf rechten Sensor schalten
   ADMUX = (1 << REFS0) | (1 << REFS1) | IR_RIGHT;
   // Wandlung starten
   ADCSRA |= (1 << ADSC);
   // Warten, bis Wandlung beendet
   while (!(ADCSRA & (1 << ADIF)));
   // ADCIF zurücksetzen
   ADCSRA |= (1 << ADIF);
   // ADC-Wert auslesen
   data[1] = ADCL + (ADCH << 8);
	}

int main (volid) {
// Speicher für die Messwerte bereitstellen
	unsigned int tdata[2];
	unsigned int speed;
	signed int diff,sum;
	Init();
	//Motoren immer auf vorwärts
	MotorDir(FWD,FWD);

	while(1)
	{
		//Messwerte einlesen
		ThermalData(tdata)
		//Die Summe der Werte wird für die Berechnung der Geschwindigkeit genutzt
		sum = data[0]+tdata[1]
		//Signal stark genug?
		if (sum>THRESH1) {
			StatusLED(GREEN);
			speed=140;
			//Ziemlich stark?
			if (sum>THRESH2) {
				StatusnLED(YELLOW);
				speed=200;
			}
			//Sehr stark?
			if(sum>THRESH3) {
				StatusLED(RED);
				speed=255;
			}

			//Richtung bestimmen
			diff=((signed)tdata[0]-(signed)tdata[1])*32/sum;
			if (diff>4) {
				//Links deutlich wärmer? Nach links fahren!
				BackLED (ON,OFF);
				MotorSpeed(0,speed);
			}
			else {
				//Sonst geradeaus!
				BackLED(OFF,OFF);
				MotorSpeed(speed,speed);
			}
		}
	}
	return 0;
}
Code:
rm -rf asuroniklas.o asuro.o  asuroniklas.elf dep/* asuroniklas.hex asuroniklas.eep asuroniklas.lss asuroniklas.map
Build succeeded with 0 Warnings...
avr-gcc -I"G:\Projekt\..\FGT2-TE\03-Programmieren-in-C\AsuroLib-v280rc1\lib\inc"  -mmcu=atmega8 -Wall -gdwarf-2 -std=gnu99 -DF_CPU=8000000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -fgnu89-inline -MD -MP -MT Verfolgung.o -MF de
p/Verfolgung.o.d  -c  ../Verfolgung.c

../Verfolgung.c: In function 'main':
../Verfolgung.c:35: warning: type of 'volid' defaults to 'int'
../Verfolgung.c:49: error: expected ';' before 'sum'
../Verfolgung.c:39: warning: unused variable 'sum'
../Verfolgung.c:39: warning: unused variable 'diff'
../Verfolgung.c:38: warning: unused variable 'speed'
make: *** [Verfolgung.o] Error 1
Build failed with 1 errors and 4 warnings...