Erro ao compilar arquivo em c no GCC

,

Bom dia

Ultimamente estou fazendo alguns exercicios no URI Online Judge (estou ainda na categoria iniciante), e antes de enviar o codigo, eu compilo ele pelo GCC (uso a distribuicao Debian), mas esta apresentando esse erro:

/tmp/ccab4wxJ.o: In function `main': test.c:(.text+0xaa): undefined reference to `sqrt' collect2: error: ld returned 1 exit status

(uso o comando: gcc test.c -o prog - test e o nome do arquivo)

Esse e o codigo que eu fiz para o URI, e la ele esta correto, mas se eue tento compilar no GCC nao consigo

[code] #include <stdio.h>
#include <math.h>

int main (){
float xi, xii, yi, yii, pi, pii;
double d;
scanf("%f", &xi);
scanf("%f", &yi);
scanf("%f", &xii);
scanf("%f", &yii);
pi = (xii - xi);
pii = (yii - yi);
d = sqrt(pi * pi + pii * pii);
printf("%.4lf\n", d);

return 0;

} [/code]

Tenho que adicionar algum complemento para que o gcc consiga compilar ?

Linux, né? O compilador deve não estar detectando a biblioteca math.

Tente executar assim na linha de comando “gcc arquivo.c -o arquivo -lm”.

Pelo que eu entendi, por padrão, o GCC não linka a biblioteca math.

sim, e linux…
funcionou da forma que voce falou… obrigado

1 curtida