Anmelden

Archiv verlassen und diese Seite im Standarddesign anzeigen : make findet keine libs?!



hnzi
03-09-2002, 15:09
hi leute,

ich hab ein problemm mit make:

mein Makefile:

CC = gcc
CFLAGS = -ansi -pedantic -Werror -Wall -g
LIBS = -lc
INCLUDEDIR = -I/usr/include -I.
LIBDIR = -L/usr/lib
LINKER = gcc
SOURCE = ttySniffer.c
HEADER = common.h
OBJS = $(SOURCE:%.c=%.o)

install_dir = /usr/local/bin/

ttySniffer: $(OBJS)
@echo Folgende Dateien erzwingen neu-linken von $@: $?
$(LD) $(LDFLAGS) -o $@ $(OBJS)

c.o.:
@echo Folgende C-Datei wird neu uebersetzt: $<
$(CC) $(CFLAGS) -c $<

ttySniffer.o: ttySniffer.c common.h

install:
cp $(SOURCE)* $(install_dir)
clean:
rm -f $(OBJS)





das spukt make aus:

cd /home/hnzi/Projekte/ttySniffer/
make -k
Folgende Dateien erzwingen neu-linken von ttySniffer: ttySniffer.o
ld -o ttySniffer ttySniffer.o
ld: warning: cannot find entry symbol _start; defaulting to 08048080
ttySniffer.o: In function `popup':
/home/hnzi/Projekte/ttySniffer/ttySniffer.c:18: undefined reference to `stdout'
/home/hnzi/Projekte/ttySniffer/ttySniffer.c:18: undefined reference to `fprintf'
/home/hnzi/Projekte/ttySniffer/ttySniffer.c:19: undefined reference to `stdout'
/home/hnzi/Projekte/ttySniffer/ttySniffer.c:19: undefined reference to `fprintf'
/home/hnzi/Projekte/ttySniffer/ttySniffer.c:20: undefined reference to `stdout'
/home/hnzi/Projekte/ttySniffer/ttySniffer.c:20: undefined reference to `fprintf'
/home/hnzi/Projekte/ttySniffer/ttySniffer.c:21: undefined reference to `stdout'
/home/hnzi/Projekte/ttySniffer/ttySniffer.c:21: undefined reference to `fprintf'
/home/hnzi/Projekte/ttySniffer/ttySniffer.c:22: undefined reference to `stdout'
/home/hnzi/Projekte/ttySniffer/ttySniffer.c:22: undefined reference to `fprintf'
/home/hnzi/Projekte/ttySniffer/ttySniffer.c:23: undefined reference to `stdout'
/home/hnzi/Projekte/ttySniffer/ttySniffer.c:23: undefined reference to `fprintf'
/home/hnzi/Projekte/ttySniffer/ttySniffer.c:24: undefined reference to `sleep'
ttySniffer.o: In function `main':
/home/hnzi/Projekte/ttySniffer/ttySniffer.c:33: undefined reference to `stderr'
/home/hnzi/Projekte/ttySniffer/ttySniffer.c:33: undefined reference to `fprintf'
make: *** [ttySniffer] Error 1

Compilation exited abnormally with code 2 at Tue Sep 3 15:28:35




ich schaetze mal das ist ein ziemlicher anfaengerfehler, verzeit mir, aber ich kenne mich so gut wie nicht aus mit make!

INCLUDEDIR, LIBDIR, LINKER, und LIBS hab ich erst spaeter rein, mit dem gleichen Fehler. ich denke der linker findet die libarys (libc.a) nicht, aber wie gesagt, ich kenne mich da zu wenig aus!

danke fuer hilfe!

hnzi

anda_skoa
03-09-2002, 16:01
Wenn du statt $(LD) $(CC) schreibst, dann sollte er gcc beim Linken seine Standardlib schon selber finden.

Wenn die glibc die einzige ist, die du linken mußt, dann brauchst du LIBDIR und LIBS nicht.

Ciao,
_

hnzi
04-09-2002, 08:01
danke, das wars!

hnzi