Duvida sqrt C

Olá não sei por que o código:

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int main(void)
{
	int x1,y1,x2,y2,raiz,x,y;
	double dis;
	scanf("%d %d",&x1,&y1);
	scanf("%d %d",&x2,&y2);

	x    = x2 - x1;
	y    = y2 - y1;
	raiz = pow(x,2)+pow(y,2); 
	dis = sqrt(raiz);
	printf("%.4f\n",dis);
	return 0;
}

Está me devolvendo o erro:

/tmp/ccfHVW5T.o: In function main': maior.c:(.text+0xad): undefined reference tosqrt’
collect2: ld returned 1 exit status

sendo que estou dando um número ao sqrt, e quero sua raiz só isso.

Pode ser que esteja faltando a library ‘math’, no caso do gcc seria com -lm na linha de comando conforme esse caso parecido com o seu:

http://stackoverflow.com/questions/3533594/sqrt-function-not-working-with-variable-arguments

Fora isso que eu lembre sqrt exige parâmeto tipo float ou double, então você terá também que usar um destes tipos, pode fazer também ‘cast’ para forçar Ex:

Boa sorte!

Bom dia, o problema era a linha de comando para compilação amigo, eu tinha de mudar a linha de comando por causa da nova biblioteca que utilizei isso?

[quote]Mathe
Bom dia, o problema era a linha de comando para compilação amigo, eu tinha de mudar a linha de comando por causa da nova biblioteca que utilizei isso?[/quote]

Isso mesmo Mathe, você precisava avisar o compilador para ele linkar a biblioteca com funções ‘math’, assim ele encontra a função sqrt que está nela.