Make Problem

tom555

Aktives Mitglied
Thread Starter
Dabei seit
18.10.2004
Beiträge
1.823
Reaktionspunkte
197
Ich versuche seit einiger Zeit mit einem Makefile zu compilieren und zu linken. Irgendwie krieg ich da folgende komische Fehlermeldung.
Code:
COMPILING source/server.o
gcc  source/server.c -o source/server.o
source/server.c: In function ‘main’:
source/server.c:71: warning: pointer targets in passing argument 3 of ‘accept’ differ in signedness
--- Linking ---
gcc  ./source/server.o -o MudServer
ld: warning in ./source/server.o, file is not of required architecture
Undefined symbols:
  "_main", referenced from:
      start in crt1.10.5.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
make: *** [MudServer] Error 1

Das Makefile das ich verwende sieht momentan so aus:
Code:
CC=gcc
CFLAGS=
LDFLAGS=
EXECUTABLE=MudServer

# DEFINE SOURCES TO COMPILE
############################

SOURCES += ./source/server.c

OBJECTS=$(SOURCES:.c=.o)



all: MudServer
	
.c.o:
	@echo COMPILING $@
	$(CC) $(CFLAGS) $< -o $@

MudServer:$(OBJECTS)
	@echo --- Linking ---
	$(CC) $(LDFLAGS) $(OBJECTS) -o MudServer

So jetzt das komische daran. Wenn ich das ganze so compiliere ohne Makefile, mit dem Befehl:
Code:
gcc server.c -o server

Dann funktioniert es und es gibt kein Problem. Nur wenn ich es mit dem Makefile mache kriege ich das oben beschriebene Problem. Weiß jemand was das zu bedeuten hat ?

Ich bin nicht der Makefile Profi, ich spiele nur grad bischen damit rum.

Danke
Tom
 
Zurück
Oben Unten