Da quando ho eseguito l'aggiornamento da Eclipse Indigo a Juno (su Ubuntu 12.04), ho riscontrato il problema che mostra errori di "inclusione non risolti" per le librerie standard (ad es. accanto a #include <iostream>
e #include <vector>
, ecc.), anche se il programma si basa e gira bene (usando g ++). Questo si verifica solo nei nuovi progetti creati con Juno, non quelli vecchi di Indigo nel mio spazio di lavoro.Eclipse Juno con CDT non aggiunge directory di inclusione incorporate
Grazie a diverse altre domande SO (vedi sotto *), sono stato in grado di risalire all'origine del problema all'assenza dei "valori predefiniti" nelle Proprietà di un progetto> Generale C/C++> Percorsi e simboli
/usr/include/c++/4.6
/usr/include/c++/4.6/x86_64-linux-gnu
/usr/include/c++/4.6/backward
/usr/lib/gcc/x86_64-linux-gnu/4.6/include
/usr/lib/gcc/x86_64-linux-gnu/4.6/include-fixed
/usr/include/x86_64-linux-gnu
/usr/include
sono presenti quando la "Mostra built-in valori" casella è spuntata nei miei vecchi progetti Indigo che non hanno questo problema, ma sono assenti nei miei nuovi progetti creati con Juno:> scheda include. Abbastanza sicuro, se aggiungo queste sette directory manualmente alla scheda Include nelle impostazioni di un progetto, il problema scompare. Ma non voglio doverlo fare manualmente per ogni nuovo progetto che creo. C'è una ragione per cui questo non è più il default in Juno, e c'è un modo per ripristinarlo?
* Altri SO domande con problemi simili che hanno consultato ma non ha risolto il mio problema:
- Eclipse 3.7.0 Indigo with CDT shows many false compilation errors: Ho pensato che la risposta di Erzsébet Geréb sarebbe la mia soluzione - in Juno, se creo un nuovo progetto C++ con "Tipo di progetto" come una delle categorie sotto "GNU Autotools" invece di "Eseguibile", le directory integrate sono lì. (In Indigo non esiste una categoria GNU Autotools.Se l'ho creata in Indigo come progetto vuoto o Hello World sotto "Executable", quelle directory sono lì, ma non lo sono se faccio così in Juno - Ho scegliere un'opzione sotto "GNU Autotools".) Ma poi, con un progetto "GNU Autotools", quando vado a Proprietà del progetto> C/C++ Build> Impostazioni, la scheda "Impostazioni strumento" non è più presente e io sono impossibile aggiungere percorsi di inclusione per il compilatore GCC C++ e librerie per il linker GCC C++, che devo fare perché molti dei miei progetti C++ usano librerie OpenCV.
- "Unresolved inclusion" error with Eclipse CDT for C standard library headers: mi ha detto come aggiungere i percorsi di inclusione manualmente, ma non come avere quelle built-in aggiunti di default
- error , Symbol 'vector' could not be resolved: Pulizia
~/.eclipse/
e la ricostruzione di indice non ha aiutato. - Eclipse CDT Builtin Include Directories: Le opzioni di rilevamento sono impostate come i miei progetti che funzionano correttamente.
- eclipse CDT 8.01 - default paths (libstdc,libstdc++) totally disappeared in 'includes' directory
- Eclipse CDT indexer lost after system update: non risolve il problema per tutti i nuovi progetti.
Questo tipo di problema si verifica anche con altre versioni di Eclipse, ad es. Kepler, e come suggerisci, non solo durante l'aggiornamento della versione, ma in vari altri scenari. – einpoklum
Suggerisci di accettare la risposta di @ languitar, funziona per me ... – einpoklum