Utilizar biblioteca math.h no CodeBlocks [RESOLVIDO]

1. Utilizar biblioteca math.h no CodeBlocks [RESOLVIDO]

Eduardo Matias
EduardoLM

(usa Debian)

Enviado em 10/05/2016 - 15:08h

Bom dia, estou tentando utilizar as funções sqrt e pow no codeblocks (linguagem C) e aparece um erro indicando referencia indefinida para sqrt ou pow, pelo terminal eu consigo compilar e executar o programa pelos seguintes comandos:

gcc nome.c -lm -o nome
./nome

Eu particularmente prefiro compilar o programa no CodeBlocks e não estou achando uma forma de faze-lo quando tenho que usar essas funções da math.h, alguem conhece alguma forma de fazer o CodeBlocks (ou me indica algum outro compilador que faça) executar essas funções?

PS: uso Linux Mint 17.3


  


2. MELHOR RESPOSTA

Paulo
paulo1205

(usa Ubuntu)

Enviado em 10/05/2016 - 15:46h

Antes de responder diretamente a sua questão, eu gostaria de ajudar a esclarecer outro ponto, para que você não se confunda.

<math.h> não é uma biblioteca, mas tão-somente um cabeçalho. Um cabeçalho contém declarações de macros, tipos compostos, variáveis globais e nomes de funções, que são usados pelo preprocessador e pelo compilador. A biblioteca propriamente dita consiste na implementação das variáveis globais e funções, e só é efetivamente utilizada no momento da geração do executável final pelo linker (para programas con ligação estática), e/ou na hora da execução do programa produzido (no caso do uso de bibliotecas dinâmicas).

Cabeçalhos e bibliotecas são tipicamente distribuídos em conjunto, pois tem de haver correspondência entre declarações e implementação. Mas isso não os torna equivalentes. É possível fazer uso da biblioteca matemática padrão num programa que não inclua o cabeçalho <math.h>, mesmo num programa em C. Mas mesmo que o código fonte não inclua o cabeçalho, o linker tem de ter a referência à implementação da biblioteca.


Feito esse esclarecimento, volto a sua pergunta inicial, e vejo-me obrigado a dizer que não uso C::B, e portanto não sei exatamente onde você tem de mexer. Contudo, em ambientes de desenvolvimento integrados, é comum haver alguma opção de configuração que permita a você indicar quais bibliotecas ou opções de compilação você quer habilitar. Em alguns ambientes, isso se faz globalmente, em outros isso pode ser feito como parte das definições de um “projeto”, e outros ainda permitem as duas coisas.

3. Re: Utilizar biblioteca math.h no CodeBlocks [RESOLVIDO]

Eduardo Matias
EduardoLM

(usa Debian)

Enviado em 14/05/2016 - 02:16h

Obrigado pela informação, consegui incluir a biblioteca manualmente no Code Blocks. Basta ir em Settings - Compiler - Linker Settings - add link libraries e adicionar a biclioteca que desejar, no caso eu adicionei a biblioteca libm.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts