2011-12-20 23 views
8

Estoy usando ecipse cdt desarrollando C++ program. Un problema es que moví todo mi espacio de trabajo y paquete de eclipse de turbolinux a centos linux. Entonces causa un problema, que el sistema incluye son diferentes, pero eclipse no actualizó las rutas de inclusión. Y todas las clases de contenedor estándar no pueden ser resueltas.refresh eclipse cdt system includes

¿Alguien sabe cómo solucionar este problema?

Respuesta

12

estaba recientemente mordido por éste mismo (en realidad vino a este sitio en busca de una respuesta ;-) así que voy a compartir lo que he encontrado:

(estos pasos reflejan Eclipse Indigo SR1)

En primer lugar, compruebe que Eclipse todavía refleja el viejo incluyen rutas de acceso:

  • proyecto -> propiedades -> C/C++ general -> caminos y símbolos -> GNU C++

A continuación, borrar los antiguos caminos:

  • proyecto -> propiedades -> C/C++ Build -> Opciones de Descubrimiento -> GCC C++ Compiler

  • haga clic en el botón de "Borrar descubrió entradas ahora"

reconstruir su proyecto, de manera que Eclipse recoge en la nueva incluyen caminos

confirmar que la nueva incluyen rutas de acceso se establecen:

  • proyecto -> propiedades -> C/C++ General -> Caminos y símbolos -> GNU C++
+0

Gracias, parece que estos pasos no pueden resolver el problema en mi sistema. No sé qué pasa con el eclipse. Actualmente tengo que agregar ruta de inclusión, exporté rutas estándar a un archivo y cada vez que creo un nuevo proyecto, importo ese archivo. Sin embargo, esto suena un poco estúpido. :) – user966085

+1

Asegúrese de seleccionar "Sistema de compilación administrada - por proyecto ..."insted en" GCC por escáner de archivos ... "en la ventana Opciones de descubrimiento. Si persisten algunos problemas, ejecute Proyecto> Índice> Reconstruir. –

1

cuadros para Eclipse 4.4.0 Luna con Cdt 8.4.0.201406111759.

Puede echarle un vistazo a su workspace/.metadata/.plugins/org.eclipse.cdt.core/ y buscar un archivo con el nombre como YourProjectName.language.settings.xml.

Elimine este archivo (es mejor que haga una copia de seguridad antes), luego vuelva a abrir su proyecto (o reinicie Eclipse) y Cdt debería desencadenar el descubrimiento integrado GCC.

Tenga en cuenta que esto solo puede aplicarse si su configuración está configurada para Builtin Discovery específico del proyecto (no para »Utilizar proveedor global compartido entre proyectos«). → ver Project Properties → C/C++ General → Preprocessor Include Paths, Macros etc. → Providers → CDT GCC Built-in Compiler Settings.

Para versiones anteriores de Eclipse (en mi humilde opinión hasta Indigo), los archivos de la memoria caché del escáner se colocaron en workspace/.metadata/.plugins/org.eclipse.cdt.make.core/ y se pusieron como YourProjectName.sc.

0

En la última versión de Eclipse CDT Mars.1 (4.5.1) tendrá que eliminar el archivo ${WORKSPACE}/.metadata/.plugins/org.eclipse.cdt.core/${PROJECTNAME}.randomnumbers.pdom, y después de abrir el proyecto, Eclipse debería comenzar automáticamente a reindexar las inclusiones.