Imansible impostare Eclipse Juno C ++ con std = c ++ 11

Ho Eclipse Juno C ++ (ID build: 20120614-1722). Sto cercando di impostare gli argomenti di richiamo del compilatore con istruzioni -std = c ++ 11 o -std = c ++ 0x ma durante la compilazione del codice sottostante. Non ci sono “Impostazioni strumento” in Eclipse Juno (almeno per Mac), quindi non posso andare in “C / C ++ Build -> Impostazioni -> Impostazioni strumenti”. Il mio compilatore è GCC 4.8.0

#include  #include  #include  using namespace std; int main(void) { vector v = {"a","b","c"}; for(string s: v){ cout << s << endl; } return 0; } 

Ho ottenuto:

 HelloWorld.cpp:16:33: error: could not convert ‘{"a", "b", "c"}’ from ‘’ to ‘std::vector<std::basic_string >’ HelloWorld.cpp:17:16: error: range-based ‘for’ loops are not allowed in C++98 mode 

è ansible seguire i passaggi descritti in questa risposta: Eclipse CDT C ++ 11 / C ++ 0x support

Una possibilità è che le tue opzioni siano state applicate alla parte sbagliata della catena di strumenti.

Ho appena affrontato esattamente lo stesso problema. Controlla se il tuo progetto ha un "makefile" ( *.mk ) . Se ha quel “makefile”, si prega di inserire quanto segue nel proprio “makefile” e compilare.

“LOCAL_CFLAGS: = -fexceptions -std = c ++ 0x -std = c ++ 11”

PS: LOCAL_CFLAGS è per i flag del compilatore che puoi inserire in “xxx> Miscellaneous”. E per essere sincero, non so come risolverlo se il tuo progetto non ha “makefile” personalizzato. Ma, Eclipse Juno non ha letteralmente il percorso che i ragazzi hanno descritto sopra.

Il motivo per cui non vedi le Impostazioni degli strumenti è perché, quando crei un progetto, devi scegliere Executable anziché GNU Autotools