Proyecto Fin de Carrera

Robótica, software y telecomunicaciones.

El problema del CMakeLists.txt

Poco a poco voy entendiendo los mensajes que obtengo tras una compilación fallida.

Básicamente los errores pueden ser de los siguientes tipos:

  • Sintaxis: Estos son los que tenía con frecuencia, pero que poco a poco van desapareciendo, el motivo era tener en la cabeza mucho más fresca la sintaxis de MATLAB que la de C. Ocurre cuando no cierras un paréntesis, no pones un ; o no escribes bien las palabras reservadas.
  • Declaración: Estos errores son los que más rápido desaparecen cuando uno se ha enterado de la Programación Orientada a Objetos. Pero a veces tenemos despistes.
  • Errores de inicialización o proceso: Estos errores son bastante más comunes, al menos para mí. Por poner un ejemplo, a la hora de rellenar una QImage y salirme de los límites que yo mismo he establecido para esa imagen.
  • Errores con los MOC: Aún no tengo muy claro lo que son los MOC (MetaObjectC), pero lo que es cierto, que se tienen que crear en uns etapa concreta durante la compilación, si no es así, obtendrás errores del tipo MOC. En este caso la solución es borrar todos los MOC que se han generado en el intento de compilar, y posteriormente volver a compilar todo de nuevo. No es un error común, pero si te pasa es importante identificarlo, en ver de revisar tu código muchas veces sin encontrar ningún fallo.
  • Errores con el CMakeLists.txt: El CMakeLists.txt es ese archivo que contiene todo lo necesario para que la compilación se a correcta, por lo tanto, a veces, si la compilación no es correcta es porque falta o sobra algo en el CMakeLists.txt.

De momento no termino de entender la estructura del archivo CMakeLists.txt, ni su sintaxis, por lo que al principio me costaba mucho editarlo. El truco está en ser observador, es decir, mirar los CMakeLists.txt de otro componentes similares al tuyo. Lo mejor en estos casos es usar un programa comparador, que te resalta las diferencias entre dos archivos. Yo personalmente uso Meld, que es gráfico, claro e intuitivo, pero tambien podeís usar KDiff3 o el comando “diff” en un terminal.

Anuncios

1 marzo 2011 Posted by | all | , | 3 comentarios

   

A %d blogueros les gusta esto: