Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

281
Visualizações
Referencia indefinida a 'sin' al pasar variable en lugar de constante

Tenía un código que funcionaba perfectamente en Windows, pero cuando intenté compilarlo en Linux, recibí un error. Descubrí que el problema está en la función sin() .

Si le paso un número constante directamente, funciona bien:

 #include <stdio.h> #include <math.h> int main(void) { float y = sin(1.57); printf("sin(1.57) = %f", y); return 0; }

Salida 1 :

 sin(1.57) = 1.000000

Pero cuando le paso una variable me sale un error:

 #include <stdio.h> #include <math.h> int main(void) { float x = 1.5; float y = sin(x); printf("sin(%f) = %f", x, y); return 0; }

Salida 2 :

 /tmp/ccfFXUZS.o: In function `main': source-bcfaa9ff162b:(.text+0x1a): undefined reference to `sin' collect2: error: ld returned 1 exit status
over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

En algunos sistemas, las funciones matemáticas están en una biblioteca separada, que debe vincularse explícitamente. Simplemente pase la opción -lm al compilar (vincular) su programa, y todo debería funcionar.

La razón por la que funciona el primero es porque el compilador conoce el pecado y optimizó todo a una constante; en realidad, no necesita llamar a la función sin.

over 4 years ago · Santiago Trujillo Relatório

0

Necesita vincular con -lm .

No sé por qué funciona el primer ejemplo, ¿tal vez algunas optimizaciones?

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda