Ich weiß, dass dieser Fehler zu Tode geprügelt wurde, aber ich kann nicht scheinen, um es zur Arbeit zu bringen. Ich mein Make-Datei unten verlinkt haben:-lm Keine Verknüpfung von Math-Bibliothek in Makefile
all: gensine info cs229towav
encode.o: encode.h encode.c
gcc -c encode.c
write.o: write.c write.h
gcc -c write.c
gensine.o: encode.c gensine.h gensine.c helper.c write.c
gcc -c gensine.c -lm
helper.o: helper.c helper.h
gcc -c helper.c
read.o: read.h read.c
gcc -c read.c
info.o:read.c info.h info.c decode.c
gcc -c info.c
decode.o: decode.c decode.h helper.c
gcc -c decode.c
cs229towav.o: write.c read.c cs229towav.c cs229towav.h helper.c decode.c encode.c
gcc -c cs229towav.c -lm
gensine: encode.o gensine.o write.o helper.o
gcc -o gensine encode.o gensine.o write.o helper.o -lm
info: read.o info.o decode.o helper.o
gcc read.o info.o decode.o helper.o
cs229towav: write.o read.o cs229towav.o decode.o encode.o helper.o
gcc -o write.o read.o cs229towav.o decode.o encode.o helper.o -lm
Clean:
rm -rf *o gensine info cs229towav
Wenn ich einen Befehl wie „make gensine“ betreibe ich mit folgendem Ergebnis zurückgekehrt bin:
>cc gensine.c -o gensine
/tmp/ccojm09X.o: In function `encodeCsFormat':
gensine.c:(.text+0x4b1): undefined reference to `sin'
/tmp/ccojm09X.o: In function `encodeWavFormat':
gensine.c:(.text+0xa39): undefined reference to `sin'
collect2: error: ld returned 1 exit status
Nach der Lektüre dieses ist, sagt nicht definiert Bezug auf die Sünde, Das ist mit der Mathebibliothek. Die aufgeführten Funktionen befinden sich in der Datei "encode.c", die in der Datei "gensine.c" enthalten ist.
Dieses Ausgabefragment scheint nicht dem Makefile oben zu entsprechen. Sind Sie sicher, dass make das richtige Makefile abholt? – fvu