errors beim linken von libmysqlclient.a
-
hoi ich versuche ein programm mit mysql unterstützung zu compilieren. os ist freebsd 5.2. die mysql libaries befinden sich unter /usr/local/lib/mysql/
die makefile schaut folgendermaßen aus:
LIB = /usr/local/lib/mysql/libmysqlclient.a -lz LIB = -lmysqlclient -lcrypt -lz SRC = ticker.c score.c update.c core_sql.c helper.c battle.c cleanup.c logging.c OBJ = $(SRC:.c=.o) CC = gcc CFLAGS= -O3 -g -Wall LDFLAGS= -O3 $(LIB) .SUFFIXES: .c .o .PHONY: update all: ticker tick_sleep test: $(OBJ) gcc -O -g $(OBJ) -o ticker.test $(LIB) ticker: $(OBJ) gcc -O -g $(OBJ) -o ticker $(LIB) sql: test_sql.o core_sql.o gcc -O -g test_sql.o core_sql.o -o test_sql $(LIB) tick_sleep: tick_sleep.o gcc -O -g tick_sleep.o -o tick_sleep update: cp ticker ticker.old cp ticker.test ticker clean: rm -f *.o ticker *~ tick_sleep $(OBJ): ticker.h logging.h tick_sleep.o: tick_sleep.c
beim compilieren bekomme ich nun folgende fehlermeldungen:
gcc -O -g ticker.o score.o update.o core_sql.o helper.o battle.o cleanup.o logging.o -o ticker -lmysqlclient -lcrypt -lz battle.o: In function `resolve_avg_shots': /usr/local/www/data/test/ticker/battle.c:610: undefined reference to `ceil' /usr/local/www/data/test/ticker/battle.c:612: undefined reference to `ceil' /usr/local/www/data/test/ticker/battle.c:614: undefined reference to `ceil' /usr/local/www/data/test/ticker/battle.c:633: undefined reference to `floor' /usr/local/www/data/test/ticker/battle.c:639: undefined reference to `floor' /usr/local/www/data/test/ticker/battle.c:569: undefined reference to `ceil' /usr/local/www/data/test/ticker/battle.c:583: undefined reference to `floor' battle.o: In function `attack_targets': /usr/local/www/data/test/ticker/battle.c:757: undefined reference to `ceil' battle.o: In function `act_initiative': /usr/local/www/data/test/ticker/battle.c:834: undefined reference to `floor' /usr/local/www/data/test/ticker/battle.c:881: undefined reference to `rint' battle.o: In function `divide_roids_helper': /usr/local/www/data/test/ticker/battle.c:1168: undefined reference to `rint' /usr/local/www/data/test/ticker/battle.c:1206: undefined reference to `rint' battle.o: In function `divide_roids': /usr/local/www/data/test/ticker/battle.c:1439: undefined reference to `rint' battle.o: In function `divide_damage': /usr/local/www/data/test/ticker/battle.c:1602: undefined reference to `rint' battle.o:/usr/local/www/data/test/ticker/battle.c:1549: more undefined references to `rint' follow /usr/lib/libmysqlclient.a(password.o): In function `scramble': password.o(.text+0x2f8): undefined reference to `floor' password.o(.text+0x343): undefined reference to `floor' /usr/lib/libmysqlclient.a(password.o): In function `check_scramble': password.o(.text+0x418): undefined reference to `floor' password.o(.text+0x463): undefined reference to `floor' *** Error code 1
woran könnte es liegen irgendwelche ideen?
merci
ralf
-
AUf machen Systemen brauchgt man auch noch andere Libs.
In deinem Fall die MatheLIBLinke zusätzlich mit -lm
-
oh cool. gewußt wie!