Domanda

Ho un progetto C che viene creato usando un makefile, Eclipse avvisa costantemente di " Percorso del progetto non valido: voci di percorso duplicate " ;, ma non riesco a capire che diavolo vuole che faccia . Vorrei disabilitare questo avviso e continuare con la mia vita.

La mia applicazione viene compilata ed eseguita correttamente, senza un singolo avviso tranne questo. Essendo uno sviluppatore coscienzioso, sono ansioso di risolvere questo problema, quindi ho i fuzzies caldi che solo una build pulita può portare.

È stato utile?

Soluzione

Questo ha funzionato per me con Eclipse 3.7.2 e CDT 8.0.2:

  1. Apri le proprietà del progetto | Build C / C ++ | Opzioni di scoperta.
  2. Fai clic sul pulsante Cancella voci scoperte ora :.
  3. Rebuild.

Sembra essere una nuova funzionalità in CDT 8. Ho avuto questo " Percorso del progetto non valido: voci di percorso duplicate " problema da anni, e questa è apparentemente la soluzione appena fornita.

Prima di fare ciò c'erano percorsi duplicati in C / C ++ Generale | Percorsi e simboli | Include la scheda. Non riuscivo a liberarmene. Appaiono solo quando è selezionato Mostra valori integrati, quindi apparentemente sono generati in qualche modo. Dopo aver fatto quanto sopra sono stati sostituiti con un set che non aveva duplicati. L'unica differenza è che le stesse impostazioni sono apparse in Assembly, GNU C e GNU C ++. In precedenza erano set diversi. Quelli per l'Assemblea erano vuoti, per esempio.

Finora il problema non è tornato.

Altri suggerimenti

Questo problema è un vero dolore da affrontare. Non funziona molto bene.

Questo è applicabile a Eclipse 3.4.1 / CDT 5.0.1

Da quello che posso dire, quando crei un " Progetto C / C ++ " all'interno di CDT, proverà a rilevare automaticamente i percorsi di inclusione. Ottima idea, ma l'implementazione è orribile.

Se si elimina o rinomina una directory, la vecchia directory rimane. Se si rinomina il progetto, la vecchia directory rimane. Quando Eclipse non riesce a trovare quella vecchia directory, ti dà quell'avvertimento.

La mia soluzione sta disattivando completamente il rilevamento automatico e gestendo manualmente i percorsi di inclusione. È necessario questo elenco di percorsi di inclusione per cose come ctrl-clic (navigazione automatica per definire / funzioni / file / ecc.) E ombreggiatura di blocchi #define. Costruisce l'indice da questo elenco.

Ecco cosa devi fare: Fai clic con il pulsante destro del mouse sul progetto in Esplora progetti e vai su Proprietà. Vai a C / C ++ Build - & Gt; Opzioni di scoperta Deseleziona & Quot; Automatizza il rilevamento di percorsi e simboli & Quot;

Ora vai a C / C ++ Generale - > Percorsi e simboli Vedrai nella scheda Include i linguaggi Assembly, C e C ++ con le corrispondenti directory include scoperte automaticamente. Vai a tutte e 3 le lingue ed elimina tutto. Apri il tuo makefile e trascrivi le tue inclusioni nella lingua corrispondente. La ridenominazione di un progetto causa comunque l'interruzione dell'indicizzatore. $ {nome_progetto} e altri globi non sembrano funzionare. In caso di problemi, utilizzare & Quot; Area di lavoro & Quot; per passare alla directory che si desidera includere, poiché sembra funzionare sempre, ma inserendolo manualmente NON. Premi applica, quindi OK. Fai clic con il pulsante destro del mouse sul progetto, vai all'indice - & Gt; ricostruisci Riavvia eclissi.

Questo dovrebbe sistemare le cose per sempre. Ogni volta che qualcosa di impropriamente viene ombreggiato a causa di un blocco #define o #ifdef, è perché quell'elenco di file è obsoleto. Saprai anche che l'elenco è obsoleto se ottieni & Quot; inclusioni non risolte & Quot; su #include lines.

Doug Schaefer, si spera che Google lo indicizzi, trovi il tuo nome e risolvi questa terribile implementazione. =)

Ho trovato questa segnalazione di bug per aiutare il mio problema. Avevo spostato alcuni percorsi inclusi e non riuscivo a liberarmi dei vecchi percorsi.

  

Ho visto anche questo problema, vecchi percorsi   non vengono mai cancellati. Per correggere manualmente il   file è necessario spostare / eliminare il file   $ {projectname} .sc trovato sotto   $ {} Spazio di lavoro /. Metadati / .plugins / org.eclipse.cdt.make.core

https://bugs.eclipse.org/bugs/show_bug.cgi? id = 206372

Utilizzo di Eclipse Luna e CDT 8.5

Ho risolto il problema con

  1. Apri le proprietà del progetto | C / C ++ Generale | Percorsi e simboli
  2. Guarda la scheda Posizione di origine, avevo rinominato una directory e non è stato aggiornato in questo elenco.
  3. Rebuild

Qui ho appena trovato un altro modo per rilevare nuovamente il percorso automaticamente:

  1. Apri " Impostazioni dell'area di lavoro - > C / C ++ - & Gt; Build - & Gt; Impostazioni - & Gt; Discovery quot &;
  2. Trova " Impostazioni del compilatore integrato CDT [Shard] "
  3. Fai clic su " Cancella voci " e " Ripristina " pulsante a destra
  4. Ricostruisci progetti e Fine

Spero che questo possa aiutare.

Riferimento: http://qing.blog.sina.com.cn/1802712302/6b7334ee33004def.html

Sembra un bug in CDT.

Se vuoi davvero sbarazzartene, dovresti provare a liberarti degli spazi nel percorso del progetto; questo è stato suggerito in un risultato della ricerca per l'errore. Se ciò non funziona, puoi provare ad aprire il file .cproject -it dove si trovano tutte le impostazioni CDT- e verificare un percorso effettivo con voci duplicate.

Dovresti controllare se hai definito manualmente un simbolo che eclissi può capire dal tuo makefile. Ho un progetto che ha un makefile scritto manualmente e il problema è stato risolto rimuovendo i simboli che avevo aggiunto manualmente a C / C ++ Generale - & Gt; Percorsi e simboli - & Gt; Simboli.

Non è necessario rimuovere .metadata ragazzi, basta eliminare tutto il percorso che si trova in C / C ++ Generale - > Percorsi e simboli - > Simboli e sostituiscili utilizzando il pulsante di clic ma non indicare manualmente il percorso

Ecco una risposta tardiva per Eclipse 4.4 (che non ha un'opzione Discovery).

Elimina il file infoPath del progetto. Eclipse o il plug-in ADT (non sono sicuro di quale) lo ricreano e lo popolano con i percorsi corretti.

Puoi trovare il file <Eclipse workspace>/.metadata/.plugins/com.android.ide.eclipse.ndk/<project>.pathInfo del progetto in Application.mk.

I penso Eclipse o il plug-in ADT determina i nuovi percorsi da due posizioni: (1) la directory NDK impostata nelle preferenze Eclipse e (2) percorsi in <=>. Tutti quei percorsi diventano & Quot; built-in & Quot; percorsi in Eclipse.

Vedi anche Come modificare i percorsi C / C ++ incorporati che puntano a un'installazione android-ndk-r9 eliminata?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top