2015-07-08 17 views
7

Ho un progetto makefile composto da molti sorgenti, intestazione e altri file, che sto cercando di convertire in un progetto "nativo" di Eclipse. Il problema che l'indicizzatore segnala errori e avvisi sui file presenti nelle directory ma che sono esclusi dalla compilazione. Di conseguenza, ampie parti dell'albero della directory sono contrassegnate con il segno rosso x.Come escludere i file dall'indicizzazione di Eclipse (analisi del codice statico)?

Come posso fare in modo che l'indicizzatore ignori file e/o directory specifici?

Nota: quando si definisce una directory come "Derivata", viene esclusa la ricerca di ulteriori ricerche, ma sfortunatamente non dall'analisi del codice. L'utilizzo dei filtri di risorse di progetto non risolve neanche il problema.

+0

correlati: https://stackoverflow.com/questions/7498878/completamente-escludenti-dicevere-directory-da-eclipse-cdt-project –

risposta

4

Nota - questa è una risposta parziale

Come molte caratteristiche in Eclipse, questa è ancora un'altra opzione sepolto all'interno delle finestre di dialogo di configurazione infinite, ed ha un'impostazione di default, che è contrastare il senso comune ...

al fine di escludere l'indicizzazione dei file che sono esclusi dalla compilazione, deselezionare:

Window ->Preferences ->C/C++ ->Indexer ->Index source files not included in the build

Non ho trovato ancora un modo di escludere i file sono inclusi nella compilazione. Allo stesso modo, non sono riuscito a trovare come escludere intere directory, ma se tutte le fonti in una directory sono escluse dalla compilazione, con questa impostazione deselezionata, sarà esclusa anche dall'indicizzazione.

6

I singoli file sono complicati, tuttavia le cartelle dovrebbero essere possibili. Right click on the project -> Properties -> C/C++ General -> Paths and Symbols

Date un'occhiata al 'percorso origine' scheda:

(a) rimuovere completamente una cartella di origine o

(b) definire un filtro exlusion (dove si può anche aggiungere cartelle, filtri e in una certa misura anche file ecc.)

(c) Evidenzia uno o più file o cartelle facendo clic con il pulsante sinistro su di esso. Quindi, fai clic con il pulsante destro del mouse su uno dei file selezionati, quindi scegli Resource Configurations -> Exclude from build.... Escluderà tutti i file o le cartelle selezionati.

(d) prendere anche uno sguardo al File Types (in C/C++ Generale) e fare clic attraverso le altre schede di 'Percorsi e simboli' e vedere se qualcosa può essere rimosso ...

(e) e come avrete visto c'è anche un indicizzatore (Right click on the project -> Properties -> Indexer che può essere configurato

Ora spero che i DS-5 ragazzi non disattivare tutte quelle opzioni ...

Aggiornamento: Ovviamente queste opzioni sono anche disponibili (almeno alcune di quelle) in CDT. Ho cambiato la mia descrizione di conseguenza ...

+0

Grazie. Sfortunatamente, sto usando CDT e, più specificamente, l'adattamento DS-5 di ARM, quindi non ci sono impostazioni Java, e specificamente non le opzioni che hai menzionato. – ysap

+0

Grazie per l'aggiornamento. Credo che (a) -> (d) intenda l'esclusione dalla build stessa, che non è mia intenzione. Per quanto riguarda (e), vedere la mia risposta alla domanda. A meno che DS-5 non abbia rimosso alcune opzioni CDT, non vedo come escludere un file * solo * dall'indicizzazione utilizzando la scheda delle impostazioni di Indexer. – ysap

+0

Nel mio caso specifico ho una directory sorgente che contiene 3 file asm: 'startup.s',' startup_cm0.s' e 'startup_cm4.s'. Di questi file, solo il 'startup_cm4.s' è integrato nel progetto. Gli altri due sono quindi esclusi dalla compilazione e, tramite le impostazioni dell'indicizzatore, vengono esclusi dall'indicizzazione. Ma non posso escludere l'unica fonte richiesta, o otterrò un errore del linker. – ysap

Problemi correlati