GCC libm nie działa
Mam program c, który wywołuje grzech, cos i acos. Podczas kompilacji otrzymuję następujące błędy:
<code>/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 </code>
Wiem, że jest to powszechne, gdy nie używasz flagi -lm gcc. Używam tej flagi. Dzwonię do GCC w ten sposób:
<code>gcc -o zipcode-server -lm main.c </code>
Kiedy kompiluję na jednym z moich komputerów, działa to dobrze. Jedyną różnicą, o której myślę, jest to, że nie działa na x86_64, a komputer, na którym działa, to i686. Oba są Ubuntu. Plik libm.a jest obecny na komputerze, na którym nie działa, i nie mam żadnych błędów mówiących, że nie można go znaleźć. Co może to powodować?