L'intestazione "memoria" (probabilmente trovata in /usr/include/c++/4.9/memory) include solo "unique_ptr.h" e "shared_ptr.h" (probabilmente trovato in /usr/include/c++/4.9/ bits/unique_ptr.h e /usr/include/c++/4.9/bits/shared_ptr.h) se la macro "__cplusplus" è uguale o maggiore di "201103L". Controlla memoria.h per te stesso per vedere la condizione di "preprocessore #if" lì, alla riga 69 (o cerca la stringa "#if __cplusplus> = 201103L").
Come altri menzionato, compilazione con "-std = C++ 0x" o successivo C++ standard (-std = C++ 11 o -std = C++ 14) risolve gli errori di compilazione, ma non l'indicizzazione eclisse e problema di completamento automatico.
Per risolvere il problema di indicizzazione di eclissi ho aggiunto la macro di preprocessore "__cplusplus" alle proprietà di costruzione del progetto, con il valore "201103L", e in seguito ho aggiornato l'indice;
Per aggiungere la macro preprocessore:
"giusto fare clic sul progetto su progetti" >> >> proprietà C/C++ Generale >> preprocessore Include >> Inserzioni >> GNU C++ >> CDT utente Impostazioni voci> > Aggiungi ... >> Macro preprocessore;
Quindi immettere una macro con il nome "__cplusplus" e il valore "201103L";
In seguito, per aggiornare l'indice, fare:
"progetto di fare clic destro sul progetto explorer" >> Indice >> Ricostruzione;
Ps .: stavo usando gcc 4.9.2 e Eclipse Luna (4.4.2), su ubuntu 15.04 64bit
So che qualcuno conosce tutti i 30 passaggi per farlo bene, ma vorrei passare a KDevelop e consentire funzione di completamento automatico;) –
Il consiglio nell'ultimo commento su [questo bug] (https://bugs.eclipse.org/bugs/show_bug.cgi?id=314014) aiuta? Non uso Eclipse, quindi non posso provarlo. –
@Als No, non ha funzionato, ma tanx. Per vostra informazione, ho aperto le proprietà del progetto-> C/C++ Build-> Discovery Options-> GCC C++ Compiler: in Compiler Gli argomenti di richiamo ho aggiunto -std = C++ 0x ma non ha funzionato. – rahman