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
¿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!
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
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
que compilador usas en windows y linux?
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.
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