¿Pero el gcc no valia solo para comiplar programas en C? Al menos a mi me salian un monton de errores al intentar compilar c++
GCC compila C, C++ e incluso Java. Si no, Gentoo no compilaría casi nada
. Lo que pasa es que GCC debe saber que es un programa en C++. Para ello:
- O usas G++, que es simplemente un enlace a GCC con la opción para compilar C++
- O nombras al fichero fuente como *.cpp
- O le pasas la opción -x c++
Por otra parte, ten en cuenta que, por sí solo, el GCC no "sabe" como enlazar los programas con las librerías si no se lo especificas, por eso existen los Makefiles, para no tener que estar indicandoselo de manera manual, y por eso pueden ser los errores. Un programa en C tan simple como este:
#include <stdio.h>
#include <math.h>
void main()
{
int x, y, z;
x = 20;
y = 50;
z = pow(x,y);
printf("%d", z);
}
Falla al compilar porque de normal no sabe como enlazar la librería "math.h" y no encuentra la función pow. Para eso hay que indicale al GCC la opción -lm.
Y por eso tambien es recomendable usar algún entorno que lo automatize, y no simplemente usar el GCC a pelo.