Tôi có một chương trình c gọi sin, cos và acos. Khi tôi biên dịch, tôi nhận được các lỗi sau:GCC libm không hoạt động
/tmp/ccDfW98S.o: In function `zip_search':
main.c:(.text+0xf30): undefined reference to `sin'
main.c:(.text+0xf45): undefined reference to `sin'
main.c:(.text+0xf66): undefined reference to `cos'
main.c:(.text+0xf7b): undefined reference to `cos'
main.c:(.text+0xf9c): undefined reference to `cos'
main.c:(.text+0xfc6): undefined reference to `acos'
collect2: ld returned 1 exit status
Tôi biết điều này là phổ biến khi bạn không sử dụng cờ gcc-lm. Tôi đang sử dụng lá cờ này. Tôi đang gọi GCC như sau:
gcc -o zipcode-server -lm main.c
Khi tôi biên dịch trên một trong các máy tính của tôi, tính năng này hoạt động tốt. Sự khác biệt duy nhất mà tôi có thể nghĩ đến là điều này không hoạt động trên x86_64 và máy tính mà nó hoạt động trên đó là i686. Cả hai đều là Ubuntu. Các tập tin libm.a có mặt trên máy tính nó không hoạt động và tôi không nhận được bất kỳ lỗi nào nói rằng nó không thể được tìm thấy. Điều gì có thể gây ra điều này?
Bạn có thể vui lòng đăng phần có liên quan của mã để chúng tôi có thể giúp bạn khắc phục sự cố không? – krzysz00
Chỉ để thử vui: 'gcc -o zipcode-server main.c -lm' –