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.
Das Makefile das ich verwende sieht momentan so aus:
So jetzt das komische daran. Wenn ich das ganze so compiliere ohne Makefile, mit dem Befehl:
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
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