2013-04-28 15 views
14

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:

+0

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

+0

Suggerisci di accettare la risposta di @ languitar, funziona per me ... – einpoklum

risposta

12

prega

  • Aprire la finestra delle preferenze Eclipse (di Windows | Preferenze).
  • Aperto C++ | Build | Impostazioni.
  • Apre la scheda Discovery.
  • Selezionare la voce delle impostazioni del compilatore incorporato.
  • Premere il pulsante Cancella voci.

Successivamente eclipse dovrebbe richiedere nuovamente i valori predefiniti dal compilatore.

Su Arch Linux ho dovuto eseguire questa operazione dopo ogni modifica della versione GCC, perché in tal caso le posizioni dei valori predefiniti sono cambiate poiché la versione è codificata nel nome della cartella e eclipse non lo nota.

+0

Non ho una scheda "Discovery" in C++> Build> Impostazioni! – MSH

+0

Le cose sono cambiate rispetto alle versioni di CDT. O la tua versione è troppo vecchia, o nelle versioni recenti questa è cambiata di nuovo. – languitar

0

FWIW:

ho scoperto che dopo l'importazione di un progetto da un altro computer, non si sentiva nulla presentandosi sotto la sezione "Include" del mio progetto in Esplora progetti. Per risolvere questo problema, avevo bisogno di eliminare la cartella /workspace/project/.settings/. Per me aveva solo un file (language.settings.xml).

Quindi tutto è tornato alla normalità.

Problemi correlati