PDA

Visualizza la versione completa : c++11


sirluca
21-07-2013, 00:09
Salve a tutti volevo chiedervi come posso risolvere il mio problema:
sto imparando a programmare in c++ e il compilatore non mi ha compilato il mio source file dicendo che non potevo fare una certa cosa in c++98 però io sono sicuro che si può fare in c++11. Visto che non so proprio nulla di ambienti di programmazione, compilatore etc volevo sapere come poter verificare se "ho" l' ultima versione di c++ e come fare in modo che venga usata quella versione; come IDE uso codeblocks.

MItaly
21-07-2013, 00:30
L'ultima versione di Code::Blocks è fornita con il compilatore g++ 4.7, che supporta già buona parte del C++11 (nota comunque che del C++11 è stato rilasciato solo lo standard, un'implementazione completa non è ancora disponibile su nessun compilatore).
Per abilitare la modalità C++11 di g++ bisogna passargli lo switch da linea di comando -std=c++11, l'impostazione in questione sarà da qualche parte nelle impostazioni del progetto.

Per curiosità, che caratteristica di C++11 ti serve esattamente? :confused:

sirluca
21-07-2013, 02:08
Grazie mille per la risposta, sto aggiornando codeblocks all' ultima release e domani ti dico. Dando un' occhiata veloce cmq non ho trovato nulla riguarda a impostazioni del progetto o simile, potresti dirmi più esattamente cosa intendi?
Per quanto riguarda la tua curiosità era una cosa banale, stavo studiando le classi template e i containers come la classe vector e volevo usare qualche costruttore nuovo di c++11 ( scusa se sbaglio qualche termine tecnico ma sono ho appena iniziato!)
Grazie ancora per la risposta! ciao

sirluca
21-07-2013, 11:35
Ho installato codeblocls 12.11 e smanettando un pò sotto settings - compiler - compiler flags - ho selezionato la flag 'have g++ follow the C++11 ISO C++ language standart [-std=c++11]'
però quando faccio build and exe mi compare questo log:

mingw32-g++.exe -std=c++11 -c C:\Progetti\prova.cpp -o C:\Progetti\prova.o
cc1plus.exe: error: unrecognized command line option '-std=c++11' .

Quando ho installato codeblocks mi dava una lista di compilatori ed erano tutti invalid(not set) o invalid e basta tranne quello di default che mi dava detected ( GNU GCC Compiler ).

Potrebbe essere che il problema sia il compilatore che ha trovato di default perchè l' ho scaricato molto tempo fa e non sapevo bene cosa facevo ( usavo MinGW ed eclipse ).

MItaly
21-07-2013, 14:37
Come detto sopra, il punto non è l'IDE, ma il compilatore. Secondo me ti conviene tirare via tutto e installare l'ultima versione di Code::Blocks con compilatore incluso, che si tira dietro una versione recente di g++, che supporta buona parte di C++11.

sirluca
21-07-2013, 17:17
Avevo in mente anche io di fare così ma aspettavo qualche risposta. Ora ho fatto come hai detto e sembra tutto funzionare! Grazie mille !

MItaly
21-07-2013, 17:24
:ciauz:

Loading