2013-01-03 27 views
21

Eventuali duplicati:
Disable Eclipse’s error discovery. (c++11 false positives)Spegnere errori Eclipse (che arent veramente errori)

con GCC 4.8/Clang 3.3 C++ supporto in modo molto più avanti di quello che Eclipse sta facendo con controllo della sintassi (in termini di supporto delle funzionalità), Eclipse sta marcando molte cose come errori che sono in realtà codice valido (l'aliasing del modello è il mio problema principale, ma ci sono anche altri problemi).

Quando compilo (o tento di avere comunque qualche problema, vedi here per ulteriori informazioni) qualunque compiler succede a fare il lavoro fa il suo lavoro, e i suoi errori vengono propagati attraverso, ma il codice che dice è OK è sottolinea ancora (spider rosso e oro per errori e avvertimenti rispettivamente), il che rende molto più difficile vedere cosa sta succedendo.

C'è un modo per sbarazzarsi di questi errori/avvisi?

Ancora meglio sarebbe un modo per sbarazzarsi degli avvertimenti solo dopo il tentativo di compilazione e per tutto il tempo in cui le parti rilevanti del codice non cambiano, ma rimangono comunque abilitate in generale.

(In realtà la cosa migliore sarebbe un plugin per Eclipse che supporta tutti, o almeno più di C++ 11 di Juno fa da solo, ma io non riesco a trovare quello)

+0

prova a seguire questo link che mi ha aiutato un po 'indietro, [Disabilita Sintassi Controllo] (http://stackoverflow.com/questions/9148417/any-way-to-disable-syntax-checking- for-a-project) –

+0

@JonnyHenly ma io voglio compilarlo – soandos

+0

Non ho molta esperienza con C++ 11 ma è possibile modificare semplicemente le classi con Eclipse e poi quando arriva il momento di compilare il terminale di utilizzo o prompt dei comandi per eseguire manualmente il compilatore. So che sarebbe banale, ma penso che si prenderà cura del tuo problema –

risposta

17

UPDATE: È passato molto tempo da quando ho inviato la risposta originale ed è diventato obsoleto. I oggi ricontrollato (Mar 15, 2014): in Eclipse Kepler (Build id 20.130.614-0229) è sufficiente

  • aggiungere sotto Progetto> Proprietà> C/C++ Costruire> Impostazioni poi sul Impostazioni strumento scheda GCC C++ Compiler> Varie il -std=c++11 bandiera,

  • poi sotto finestra> Preferenze> C/C++> Costruire> Impostazioni sulla scheda Discovery scelto Impostazioni del compilatore CDCC GCC incorporato e aggiungere il flag -std=c++11 a Comando per ottenere le specifiche del compilatore. Sulla mia macchina sembra che questo dopo la modifica:

    ${COMMAND} -E -P -v -dD -std=c++11 "${INPUTS}"

  • e ricostruire sia il vostro progetto e l'indice (Progetto> C/C++ Indice> Ricostruisci) come Eclipse tende a memorizzare nella cache l'errore messaggi e mostrarli anche se sono andati dopo aver modificato le impostazioni.

Questo funziona sulla mia macchina di sicuro. Se non è sul tuo, allora potresti voler dare un esempio a questo: C++11 full support on Eclipse anche se non sono sicuro della correttezza di questo approccio né è stato necessario farlo sul mio computer. A partire dal 7 marzo 2014 gli utenti claim li hanno aiutati mentre l'approccio di cui sopra non ha funzionato.


Il post originale, ormai superata:

Questi errori fasulli provengono da Codan. Il tutto è dovuto al fatto che Codan e il compilatore hanno una diversa comprensione di C++ e Codan è buggy.

Possibili soluzioni

  1. Cliccare sulla proprietà del progetto, quindi C/C++ Generale> Analisi Codice> Sintassi e errori semantici e deselezionare gli errori che si stanno ottenendo falso. Svantaggio: molto probabilmente finirai per disabilitare la maggior parte degli errori e avvisare uno per uno, il che è piuttosto fastidioso.

  2. Disabilitare completamente l'analisi statica su C/C++ Generale> Analisi del codice> Sintassi e errori semantici. Non otterrai i veri errori da Codan ma solo più tardi dal compilatore.

Nessuno di loro è una soluzione, ma almeno si può ancora utilizzare l'IDE Eclipse.

+0

Sembra buono. Per inciso, trovo ridicolo che gli autori di compilatori abbiano implementato le funzioni prima che Eclipse possa persino riconoscerlo. – soandos

+0

(e buona presa sul dupe, mio ​​male) – soandos

+0

@soandos Quello che trovo ancora più ridicolo è che hanno prodotto uno strumento autonomo separato (Codan) per fare il lavoro del compilatore. Spero che la situazione cambierà con clang e infine lo strumento di analisi statica (clang invece di Codan) e il compilatore (di nuovo clang) avrà la stessa comprensione di C++. – Ali

8

Vai alla finestra -> Preferenze scrivi analisi nel campo di ricerca seleziona C/C++ -> Analisi del codice e lì puoi disattivare tutto.

Problemi correlati