2010-03-17 16 views
6

Capisco che CDT 7 includa un parser di errori di espressioni regolari, ma sto utilizzando CDT 6 ora.Eclipse CDT Error Parser per builder esterno basato su gcc

Ho un builder CDT esterno che chiama solo uno script di shell per attivare la mia build, (basato su Jam). La build utilizza GCC e gli errori e gli avvertimenti sono trasmessi in streaming a una vista Console, ma ovviamente nessun parser di errori la sta osservando, quindi nella mia vista Problemi non appare nulla.

C'è un modo per configurare CDT per utilizzare il suo scanner GCC sull'uscita della mia console per popolare la vista Problemi? Il parser GCC è abilitato, non sta guardando il mio output.

risposta

3

io non sono sicuro se questa domanda è ancora reale, ma la seguente soluzione dovrebbe funzionare per popolare vista Problemi:

1) Creare un makefile vuoto C++ in CDT (chiamiamolo solution1)

2) Dal menu di scelta rapida del progetto (in Esplora progetti) selezionare "Importa ..."

3) Nella procedura guidata "Importa" selezionare "Generale/File System", fare clic su "Avanti" e selezionare la directory di origine. Sfortunatamente CDT 6 non consente di creare riferimenti a file come CDT 7. Invece copia tutte le fonti nella posizione del progetto nell'area di lavoro. Quindi la directory più in alto che importi dovrebbe contenere Jamroot. Non dimenticare di selezionare tutte le caselle per tutti i file e le cartelle necessarie nel registro di importazione.

Come alternativa più elegante all'importazione, è sufficiente creare una cartella nel progetto Eclipse e collegarla alla cartella di origine contenente Jamfile necessario - grazie a Vanuan per il suggerimento.

Dopo che i file vengono aggiunti proprietà aperta del progetto e fare le seguenti modifiche:

4) Assicurarsi che sia CDT Builder e configurazione scanner Builder sono selezionati sulla pagina Costruttori. Per Proprietà CDT Builder ti consiglio di selezionare tutte le opzioni eccetto "Durante la creazione automatica"

5) Nella pagina "C/C++ Build" deselezionare "Usa comando build predefinito" e inserire qualcosa come "$ {HOME}/boost. build/bin/bjam ". In "Build Location" dovresti mettere la cartella con il jamfile necessario che vuoi costruire dalla tua gerarchia di progetto. Ad esempio, "${workspace_loc:/solution1/Server}"

6) Passare alla scheda "Comportamento" e aggiungere i parametri bjam necessari per le opzioni "Build (incremental)" e "clean". Deseleziona "Build on resource save (Auto Build)"

7) In "C/C++ Build/Settings/Error Parsers" seleziona tutti i parser necessari. Tutto il resto dovrebbe essere lasciato in stato predefinito.

Dopodiché dovresti essere pronto.

Se si dispone di più progetti nell'albero di origine e si è utilizzato l'approccio "Importa", è opportuno creare una configurazione di compilazione separata per ciascun progetto e specificare i corrispondenti valori di "Posizione di creazione" per essi. Io uso CDT 7 e poiché consente di importare riferimenti a cartelle di origine anziché creare copie fisiche, creo semplicemente un progetto Eclipse separato nell'area di lavoro per ciascun Jamfiles di destinazione. In CDT 6 funzionerà anche se hai aggiunto una cartella collegata invece di importare i sorgenti.

+0

Sul CDT 6 non è possibile creare riferimenti: in realtà è possibile creare una cartella collegata ad un'altra posizione. E puoi anche importare un progetto esistente dal percorso personalizzato (collegato) nello spazio di lavoro. – Vanuan

+0

Probabilmente non vi è alcun motivo per creare configurazioni di compilazione separate poiché il sistema di compilazione di Jam è abbastanza potente per costruire tutti i progetti contemporaneamente. – Vanuan

+0

Riguardo alla compilazione separata: dipende dal flusso di lavoro e dall'albero dei sorgenti. Ad esempio, se ci sono diversi progetti di pari livello a quello corrente, e al momento sei concentrato sull'attuale, potresti voler limitare l'ambito di costruzione ad esso. Per quanto riguarda l'aggiunta di collegamenti a Cartelle nel progetto CDT, è una buona idea e sembra funzionare. Aggiornerò la mia risposta con esso – Krit

Problemi correlati