2010-02-05 10 views
15

No entiendo qué es exactamente un generador en CDT, y cuál es la relación con el contenido "C/C++ Build".Eclipse - ¿Qué es exactamente un generador?

Configuré SCons en la confuuración "C/C++ Build". Funciona: hice dos configuraciones (versión y depuración) y se inician mis scripts SCons. Pero cuando intento depurar ahora, estoy estudiando estos Stauuf de constructores (estoy descubriendo Eclipse ...).

La documentación no está nada clara sobre este punto.

Gracias por la ayuda.

Respuesta

25

No estoy exactamente seguro de cuál es su problema, pero trataré de explicar cómo funcionan los constructores.

Cualquier proyecto de Eclipse tiene cero o más constructores, y se invocan (en orden) cuando Eclipse construye un proyecto. Existen diferentes tipos de constructores que hacen cosas diferentes, como invocar una herramienta de compilación externa o validar un archivo XML. Puede definir sus propios constructores si lo desea.

Un proyecto CDT generalmente tiene dos constructores. El primero es el constructor CDT que es responsable de compilar su código. Si está utilizando una herramienta de compilación externa, lo más probable es que esté utilizando un "proyecto de mapeo", en cuyo caso el constructor de CDT simplemente invoca su herramienta de compilación para usted. Esto se llama de forma predeterminada "hacer", pero puede cambiarlo en la configuración del proyecto.

El segundo constructor es el constructor "descubrimiento de escáner". El propósito de este generador es intentar averiguar qué rutas de acceso, etc. usar para el indexador para que funcione la finalización automática, etc. Si está utilizando una herramienta externa, es probable que deba configurarlas usted mismo. en la pestaña "Rutas y símbolos".

En general, los constructores no están involucrados en la depuración, pero puede tener problemas si el sistema de compilación no coloca los binarios compilados en un lugar donde CDT espera. Debería haber una pestaña en las propiedades del proyecto donde puede configurar cómo/dónde CDT busca los binarios.

+0

¡Gracias por sus explicaciones! En realidad, sí uso una herramienta de construcción externa (SCons), pero no utiliza archivos make. Utiliza archivos de Python. Se genera la versión de depuración, pero ¿cómo explotarla en CDT con gdb? Tal vez debería lanzar una nueva pregunta para este punto ... Por cierto, en el documento de Ganymede, se dice para las configuraciones "Ejecutar y Depurar": "La configuración de Ejecutar/Depurar es principalmente aplicable a proyectos Java, no a CDT. " : - / – Oodini