2012-07-06 16 views
9

Sto usando CDT in Eclipse 3.5.2 Galileo in Ubuntu.Indicizzazione di eclissi non funzionante

L'indicizzatore del mio eclipse non funziona a volte. Con ciò intendo quando I ctrl fare clic su una funzione che dice Could not find symbol in index. Inoltre, il clic del pulsante F3 risulta nello stesso messaggio di errore. In realtà la maggior parte dei posti non funziona e funziona in pochissimi posti.

Ho visto alcune altre versioni di Eclipse in cui nel menu File una voce di menu elencata per l'indicizzazione. Come File-> Indicizzatore-> Ricostruisci .... Ma nel mio menu File non c'è nessuna voce di menu per l'indicizzatore.

L'unico modo è utilizzare un'altra versione di Eclipse o mancare qualcosa? Qualsiasi suggerimento su questo sarebbe utile.

+0

Possibile duplicato di [Clean Eclipse Index, non sincronizzato con il codice] (http://stackoverflow.com/questions/3008293/clean-eclipse-index-it-is-out-of-sync-with- codice) –

risposta

7

Per aggiungere percorsi che contengono il codice per analizzare, attenersi alla seguente procedura:
1. Fare clic destro sul progetto
2. Selezionare Proprietà
3. Vai a C/C++ Generale
4. Vai al percorso e simboli
5. Se i percorsi mancano, aggiungere percorsi.

Per ri-analizzare il codice attenersi alla seguente procedura:
1. Fare clic destro sul progetto
2. Selezionare Indice
3. Ricostruire

Se questo non funziona, allora si è fuori fortuna. C++ è un linguaggio molto difficile da analizzare.

11

Nel mio caso niente ha funzionato e alla fine ho fatto la seguente:

1) Close the project 
2) Delete the project(do not check from disk option) 
3) create new project with existing code(use the deleted project path) 
4) Successfully indexed my c++ code 
+1

Sfortunatamente l'unica soluzione anche con l'ultima eclissi MARS ... –

+0

Funziona perfettamente. – Slot

0

Credo che è possibile cancellare l'indice eseguendo:

rm .metadata/.plugins/org.eclipse.jdt.core/*.index 

E poi riavviare Eclipse. Quindi ricostruirà il suo indice.

Questo ha funzionato per me in un progetto Java, ma immagino sia lo stesso indice per tutti i (più?) Tipi di progetto.

1

Se l'indicizzatore è bloccato e si blocca per un tempo infinito, è possibile eliminare i file relativi all'indicizzatore del progetto da .metadata. Assicurati che eclipse non sia in esecuzione nel frattempo.

La directory si trova come una cartella nascosta nel percorso dell'area di lavoro.

lì si può visualizzare:

<workspace_path>/.metadata/.plugins/org.eclipse.core.runtime/.settings/

All'interno della directory .settings/ ci sono .prefs file che memorizzano le preferenze di ogni singolo progetto.

Per esempio: org.eclipse.cdt.core.prj-test-project.prefs memorizza le preferenze del progetto test-progetto

Apri questo file con l'editor di testo e rimuovere tutte le linee che iniziano con indexer.Ciò ripristinerà le impostazioni dell'indicizzatore per questo specifico progetto sul valore predefinito.

In alternativa, è possibile rimuovere tutte le righe che iniziano con indexer da org.eclipse.cdt.core.prefs; facendo ciò si ripristineranno le impostazioni dell'indicizzatore per l'intero spazio di lavoro.

+0

questo ha funzionato davvero –

0

Puoi provare a ricostruire l'indice. Fare clic con il tasto destro del mouse sul progetto in Project View. Quindi Index -> Rebuild.

0

Ecco la soluzione che ho utilizzato dopo Project->C++ Index->Rebuild non riuscita. Questo evitare di trucco di eliminare il progetto corrente:

1) Copy the current project (Right click->Copy from Project Explorer) 
2) Paste it (Right click->Paste from Project Explorer) and give the copy another name 
3) The indexer should now start and index both projects 
4) When indexation is complete, you can delete the copy 

PS: Assicurarsi che il progetto originale è un vero e proprio progetto C++ o questo non funzionerà ovviamente.