Tôi biết lỗi này đã bị đánh đến chết, nhưng tôi dường như không thể làm cho nó hoạt động được. Tôi đã liên kết makefile của tôi dưới đây:-lm Không liên kết thư viện toán học trong 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
Khi tôi chạy một lệnh như "làm gensine" Tôi đang trở lại với những kết quả sau:
>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
Sau khi đọc bài viết này là nói tài liệu tham khảo không xác định đối với tội lỗi, đó là với thư viện toán học. Các hàm được liệt kê nằm trong tệp "encode.c" được bao gồm trong tệp "gensine.c".
Đoạn đầu ra đó dường như không tương ứng với tệp makefile ở trên, bạn có chắc là đang chọn đúng makefile không? – fvu