Error al compilar en Linux

Iniciado por Caster, 20 Octubre 2012, 21:33 PM

0 Miembros y 1 Visitante están viendo este tema.

Caster

Pues estaba probando a compilar el codigo de una calculadora que hice en windows, a hacerlo en Linux para ir viendo las diferencias porque me quiero pasar a Linux, el codigo es el que deje aqui:

http://foro.elhacker.net/programacion_cc/calculadora_hecha_en_c-t373901.0.html

Y lo unico que he cambiado es la linea

system("cls");

Por esta:

system("clear");

Pero me da error al compilar, que mas debo de cambiar del codigo para que me compile en Linux?

Saludos

avesudra

¿Qué error te da? De todas maneras que yo sepa , la funcion system está definida en:
#include <stdlib.h>
Y tú no la tienes incluida.

¡Un saludo!
Regístrate en

Caster

#2
No cambiaria nada si añado esa libreria porque en windows me compila perfectamente y la funcion system esta en el codigo, aun asi probe a añadirla y a compilar y sigue dando el mismo error, no puedo copiarlo exactamente porque estoy trabajando en ubuntu pero sin conexion a Internet y para postear cambio a Windows, aunque el error es algo asi:

CitarIn fuction 'potencia':
undefined refenrence to pow
In fuction 'raiz_cuadrada':
undefined reference to sqrt
In fuction 'seno':
undefined reference to sin
In fuction 'coseno':
undefined reference to cos
In fuction 'tangente':
undefined reference to tan


Creo recordar que era algo asi

Saludos

avesudra

Si bueno porque es una declaración implícita pero es mejor ponerla.El error que pones es del linker claramente ¿estás compilando desde la terminal o desde algún IDE? Revísate este post https://foro.elhacker.net/programacion_cc/problema_con_funcion_sin_tipo_en_c-t365662.0.html
Regístrate en

Stakewinner00

que compilador usas en windows y linux?

NeoB

Viendo el error creo que es por que no incluiste la librería math. Añade la opción "-lm" en el comando del compilador:
gcc -o calc main.c -lm
Dime si no es.

Caster

Pues en windows uso MinGw y en linux pues gcc logicamente. Ya habia leido algo de añadir -lm al compilador y habia probado asi:

Citargcc -lm main.c -o ejecutable

Pero asi seguia sin ir, probe asi:

Citargcc  main.c -o ejecutable -lm

Y asi compilo sin ningun problema, muchas gracias a todos

Saludos