2010-03-17 15 views
6

Entiendo que CDT 7 tendrá un analizador de errores de expresiones regulares incluido, pero ahora estoy usando CDT 6.Analizador de errores Eclipse CDT para generador externo basado en gcc

Tengo un generador externo de CDT que simplemente llama a un script de shell para desencadenar mi compilación, (basado en Jam). La compilación utiliza GCC, y los errores y advertencias se transmiten a la vista de la Consola, pero, por supuesto, ningún analizador de errores lo está mirando, por lo que no aparece nada en mi vista de Problemas.

¿Hay alguna manera de configurar CDT para usar su escáner GCC en la salida de mi consola para llenar la vista de Problemas? El analizador de GCC está habilitado, simplemente no está mirando mi salida.

Respuesta

3

no estoy seguro de si esta pregunta sigue siendo real, pero la siguiente solución debe trabajar para poblar vista Problemas:

1) Crear un archivo MAKE vacía C++ en el CDT (vamos a llamarlo solution1)

2) Desde el menú contextual del proyecto (en el Explorador de proyectos) seleccione "Importar ..."

3) en el asistente "Importar" seleccionar "Sistema/archivo general", haga clic en "Siguiente" y seleccione el directorio de origen. Lamentablemente, CDT 6 no permite crear referencias a archivos como CDT 7. En su lugar, copiará todas las fuentes a la ubicación del proyecto en el área de trabajo. Por lo tanto, el directorio más alto que importa debe contener el Jamroot. No olvide marcar todas las casillas para todos los archivos y carpetas necesarios en el diálogo de importación.

Como una alternativa más elegante a la importación, puede crear una carpeta en el proyecto de eclipse y vincularla a la carpeta de origen que contiene el archivo de prueba necesario - gracias Vanuan por la pista.

Después de que los archivos se añaden las propiedades del proyecto abierto y no los siguientes cambios:

4) Asegúrese de que tanto CDT Builder y configuración de escáner Constructor se seleccionan en la página de Constructores. Para las propiedades del generador CDT, recomiendo seleccionar todas las opciones excepto "Durante la compilación automática"

5) En la página "C/C++ Build" desmarque "Usar comando de compilación predeterminado" y coloque algo como "$ {HOME}/boost. build/bin/bjam ". En "Ubicación de compilación", debe colocar la carpeta con el archivo de interconexión necesario que desea compilar a partir de la jerarquía del proyecto. Por ejemplo, "${workspace_loc:/solution1/Server}"

6) Cambiar a la pestaña "comportamiento" y añadir parámetros bjam necesarios para las opciones de "construir (incremental)" y "limpios". Desmarque "Crear en recursos guardados (Auto Build)"

7) En "C/C++ Build/Settings/Error Parsers", seleccione todos los analizadores necesarios. Todo lo demás se debe dejar en estado predeterminado.

Después de eso deberías estar listo para ir.

Si tiene varios proyectos en el árbol de fuentes y utilizó el enfoque de "Importar", tiene sentido crear una configuración de construcción separada para cada proyecto y especificar los valores correspondientes de "Ubicación de compilación" para ellos. Utilizo CDT 7 y dado que permite importar referencias a carpetas de origen en lugar de crear copias físicas, simplemente creo un proyecto de eclipse por separado en el espacio de trabajo para cada uno de los archivos Jam de destino. En CDT 6 también funcionará si agregó una carpeta vinculada en lugar de importar las fuentes.

+0

En el CDT 6 no permite crear referencias: en realidad puede crear una carpeta vinculada a otra ubicación. Y también puede importar un proyecto existente desde una ruta personalizada (vinculada) al espacio de trabajo. – Vanuan

+0

Probablemente no tenga sentido crear configuraciones de compilación separadas, ya que el sistema de compilación Jam es lo suficientemente potente como para construir todos los proyectos simultáneamente. – Vanuan

+0

Con respecto a la compilación separada: depende de su flujo de trabajo y su árbol fuente. Por ejemplo, si hay varios proyectos hermanos para el actual, y está enfocado en el actual en este momento, puede limitar el alcance del edificio a él. Con respecto a agregar enlaces a Carpetas en el proyecto CDT, es una buena idea y parece funcionar. Actualizaré mi respuesta con eso. – Krit

Cuestiones relacionadas