Raíz Quadrada: math.h; sqrt(), gcc, não compila!

Aprenda a Corrigir o Problema!!

Eu estava na aula de Programação e um dos exercícios do professor consistia em criar um algoritimo, que calcula-se a distancia entre dois pontos.

No caso era esse





Caso tenha interesse em saber qual a versão do seu compilador gcc, use o comando gcc -v no terminal conforme abaixo:

Caso queira mais detalhes sobre o compilador acesse esse link https://gcc.gnu.org .

Ao tentar executar o comando pelo terminal do linux:

Na verdade o programa compila sem problemas. O que aconteceu não foi problema na compilação, mas sim na linkedição: o código compilou, mas na hora de linkar o executável, ele não encontrou a referência para a função sqrt, pois ela está em uma biblioteca (libm) que não está entre as bibliotecas que são procuradas por padrão pelo gcc (na verdade, pelo linker). A solução é a seguinte:
gcc distan2pont.c -o distanpont -lm

Colocando o  -lm na linha de comando o problema se resolve fácil.

Até a próxima.

Comentários

Publicity

Hostgator