Io uso Ubuntu 12.04 e il gcc predefinito è 4.6.3. Non accetta i comandi di C++ 11 e mi sta dando l'output dicendo che il comando non è compatibile con C++ 98. Ho controllato online e ho visto persone che consigliavano di non modificare i compilatori predefiniti sul sistema operativo quando diventa instabile. Qualcuno può suggerire una soluzione o un modo sicuro per scaricare un compilatore gcc conforme a C++ 11.come cambiare il compilatore gcc in C++ 11 su ubuntu
risposta
gcc 4.6.3 supports many c++11 features. Tuttavia, sono disabilitati per impostazione predefinita. Per consentire loro, utilizzare il seguente bandiera:
g++ -std=c++0x ...
Questo flag disabilita anche estensioni GNU; per mantenerli abilitati, utilizzare il flag .
quindi ho bisogno di inserire il comando per la compilazione come g ++ -o eseguibile nomefile.cc -std = C++ 0x è? –
@talasila corretto. Potresti prendere in considerazione l'aggiornamento di gcc a 4.8, [ha molto meglio il supporto per C++ 11] (http://gcc.gnu.org/gcc-4.8/cxx0x_status.html). – dasblinkenlight
come faccio ad aggiornare il mio compilatore predefinito a uno nuovo. perché la gente dice di non rimuovere una versione esistente di gcc nel sistema operativo in quanto rende il sistema instabile? È vero? –
Come altri hanno suggerito, è necessario immettere l'opzione della riga di comando std. Facciamo più facile per voi
- Aprire terminale premendo Ctrl + Alt + T
sudo gedit ~/.bashrc
Immettere la seguente riga come l'ultima linea
alias g++="g++ --std=c++0x"
- Salvare e chiudere il file e chiudere il terminale.
- terminale Ora di nuovo aperto e compilare il C++ 11 programmi semplicemente
g++ filename.cpp
questo è tutto. Di default verrà compilato per lo standard C++ 11.
NOTA: Se si segue l'opzione di cui sopra, per compilare i non c-++ 11 programmi, è necessario utilizzare
g++ --std=c++98 filename.cpp
ok. Grazie. Ma nell'ultima nota hai detto che per compilare programmi non C++ 11 cambia il comando. Ma non tutte le versioni sono compatibili con le versioni precedenti. Quindi il compilatore C++ 11 dovrebbe compilare anche un programma senza comandi specifici per C++ 11. –
- 1. Come installare GCC 5.1 su Linux (Ubuntu)
- 2. Come abilitare C++ 11 in gcc?
- 3. pycrypto su Ubuntu con errore del compilatore
- 4. Ottenere GCC in modalità C++ 11 per lavorare su FreeBSD
- 5. Il compilatore gcc C è scritto in C?
- 6. Attributo C++ 11 [[non utilizzato]] in gcc?
- 7. Come portare il codice C++ esistente in C++ 11
- 8. Installazione di gcc su linux senza compilatore c
- 9. Nessun compilatore C su EC2?
- 10. Come abilitare il compilatore C++ 11 su Visual Studio 2010 Express Edition?
- 11. Come eseguire un programma C su Ubuntu?
- 12. C++ 11 gcc: qualifica esplicita in dichiarazione? Riferimento standard?
- 13. Come cambiare il titolo gnome-terminal in Ubuntu 10
- 14. C++ 11 thread_pool, futures, promises support in gcc
- 15. Configurare il percorso del compilatore C in RStudio
- 16. Controllo funzionalità C++ 11
- 17. necessario abilitare C++ 11 in CodeBlocks
- 18. App C++ su Ubuntu. Dopo l'installazione 4.8.1 gcc il gdb non funziona
- 19. Compilare codice C++ per AIX su Ubuntu?
- 20. installazione di un compilatore GCC su un contenitore Docker
- 21. Come aggiornare a C++ 11?
- 22. Come installare il crosscompiler (su ubuntu 12.04 LTS) per il microprocessore SA1100?
- 23. c'è un opzione di compilatore/linker GCC per cambiare il nome di main?
- 24. gcc 4.8.1 supporta C++ 11 per la garbage collection?
- 25. Esiste un prgma GCC per attivare e disattivare C++ 11?
- 26. profondità di inlining in compilatore GCC
- 27. migrazione a C++ 11
- 28. C++ 11: GCC 4.8 static_local std :: unique_ptr riferimento undefined
- 29. Il compilatore C# era scritto in C++?
- 30. pip geoip installazione per errore ubuntu gcc
'g ++ -std = C++ 11' o, se ciò non lo fa lavoro, 'g ++ -std = C++ 0x' – jxh
È sempre possibile installare un'altra versione di GCC accanto a quella di sistema. Puoi anche compilare un'altra versione da solo. Ci sono molti tutorial in rete - usa il tuo motore di ricerca preferito. GCC di solito ha suffisso i suoi eseguibili con il numero di versione e installa anche le sue librerie specifiche in directory con versione così le versioni più recenti non entreranno in conflitto con quella fornita dal sistema. –