È possibile eseguire l'aggiornamento a Xcode 4.1 (o qualunque sia la versione più recente disponibile per Snow Leopard) e ottenere un nuovo compilatore con alcune funzionalità in C++ 11. Ci sono alcuni post qui su Stack Overflow su come ottenere un supporto migliore per C++ 11 in Xcode 4.1 su Snow Leopard.
Ma anche l'ultimo compilatore disponibile tramite Xcode non supporta alcune funzionalità di C++ 11 come lambdas. Per ottenere il miglior supporto per C++ 11, ti consigliamo di installare un compilatore più recente, gcc 4.6 o 4.7 o Clang.
Spesso realizzo l'ultima versione di clang dai sorgenti. Non è difficile da fare se hai familiarità con la creazione di altri software open source. Uso i repository git per clang e llvm, http://llvm.org/git/llvm.git
e http://llvm.org/git/clang.git
. Puoi anche trovare le istruzioni sul loro sito Web per iniziare: http://clang.llvm.org/get_started.html. Una volta che hai la fonte per clang e llvm è solo ./configure && make && sudo make install
. (potresti voler eseguire i test prima di installare, poiché questo è direttamente fuori dal repository.Dopo il make
fare make check
nella directory llvm, e una volta che passa cd in basso a tools/clang ed eseguire make test
. Se tutto va bene allora sudo make install
)
Non ricordo se Snow Leopard includesse libC++ o no, quindi potrebbe essere necessario ottenerlo. http://libcxx.llvm.org/
Una volta che tutto è costruito e installato si può fare:
clang++ -std=c++11 -stdlib=libc++ main.cpp && ./a.out
e si dovrebbe avere solo circa il migliore C++ 11 supporto intorno.
Le patch recenti in clang hanno davvero migliorato il supporto per le ultime funzionalità che probabilmente noterete come un nuovo programmatore C++. Ci sono ancora alcuni bit e pezzi rimasti, ma a partire da 3.1, e per quanto ne so, clang ha tutte le funzionalità di C++ 11 che ha gcc 4.7 o VC++ 11 e altro ancora. libC++ ha anche il minor numero di lacune in termini di funzionalità di libreria standard C++ 11 IME (anche se penso che la libreria standard di VC++ sarà abbastanza completa una volta che avranno recuperato le caratteristiche del linguaggio, ad esempio char32_t e char16_t come tipi nativi in modo che le specializzazioni obbligatorie dello standard per quei tipi può essere usato).
Vedi http://stackoverflow.com/questions/7482026/can-i-use-the-latest-features-of- c11-in-xcode-4-or-osx-lion ... – StilesCrisis
@StilesCrisis La domanda si riferisce a Lion, mentre sto chiedendo di Snow Leopard ... – fdh
Beh, è certamente solo più impegnativo su Snow Leopard. Direi che MacPorts è lo stesso e Xcode è una causa persa. – StilesCrisis