En Linux, cuando se utiliza el
plug-in CDT
para programar con Eclipse en C++, luego de compilar podemos ver el
listado de errores (si es que los hubiera) remarcados en rojo en la
línea de código en la cual se produjo. Lo mismo sucede
para los warnings pero estos se marcan en amarillo de forma
predeterminada. Esta funcionalidad es posible gracias al parser de
errores incluido en CDT, que se encarga de interpretar la salida de
texto generada por el compilador GCC (más específicamente
por G++ que es el compilador de C++ incluido en el set de compiladores
GNU llamado
GCC).
Un problema que tuve cuando comencé a utilizar CDT fue que los
warnings eran marcados incorrectamente como errores por Eclipse. Luego
de mucho buscar por la Web, pude entender el porqué de este
comportamiento: yo estoy utilizando una versión en
español de Ubuntu Linux, y por lo tanto la salida de errores y
warnings de GCC es en español por defecto. Esto no parece caerle
muy bien mucho al CDT, que se limitaba a mostrar cualquier salida como
un error, porque no es capaz de entender que la palabra "advertencia"
equivale a "warning".
No encontré versiones del parser de errores específicas
para el idioma español, por lo que enfoqué la
solución a lograr que el GCC mostrara sus mensajes en
inglés en lugar de español. Esto se puede lograr seteando
la variable de entorno LC_ALL de la siguiente manera:
LC_ALL = C
Pero esto afecta la configuración de todo el sistema, por lo que
conviene limitar el cambio solo para la compilación y el
enlazado, utilizando las opciones que nos ofrece el Eclipse CDT de esta
forma:
- Cargar en Eclipse nuestro proyecto C++
- Menú "Project" -> "Properties"
- Ir a la sección "C++ Build" -> "Environment"
- Click en el botón "New"
- En el campo "Name" ingresar LC_ALL
- En el campo "Value" tipear la letra C
- Darle Ok a ambas ventanas y eso es todo
Como un beneficio extra, obtener los mensajes del compilador en
inglés nos va a facilitar las cosas a la hora de buscar
información en Internet acerca de esos errores que a veces nos
complican la vida, ya que buscando el error traducido al español
no va a ser muy fructífero y lamentablemente GCC no dispone de
una codificación numérica para sus errores y warnings.
Tags: Eclipse, CDT, C++, errores, GCC, idioma