Używam Ubuntu 12.04, a domyślny gcc to 4.6.3. Nie przyjmuje poleceń C++ 11 i daje mi dane wyjściowe mówiąc, że polecenie nie jest zgodne z C++ 98. Sprawdziłem online i widziałem ludzi, którzy radzili, aby nie zmieniać domyślnych kompilatorów w systemie operacyjnym, ponieważ stają się niestabilne. Czy ktoś może zaproponować poprawkę lub bezpieczny sposób pobierania kompilatora gcc, który jest zgodny z C++ 11.jak zmienić kompilator gcc na C++ 11 na ubuntu
Odpowiedz
gcc 4.6.3 supports many c++11 features. Są one jednak domyślnie wyłączone. Aby je włączyć, użyj następującej flagi:
g++ -std=c++0x ...
Ta flaga również wyłącza rozszerzenia GNU; aby je włączyć, użyj flagi -std=gnu++0x
.
, więc muszę wprowadzić polecenie kompilowania jako g ++ -o plik wykonywalny filename.cc -std = C++ 0x czy to jest? –
@talasila Prawidłowo. Możesz rozważyć ulepszenie gcc do 4.8, [ma znacznie lepszą obsługę C++ 11] (http://gcc.gnu.org/gcc-4.8/cxx0x_status.html). – dasblinkenlight
w jaki sposób mogę zaktualizować domyślny kompilator do nowego. dlaczego ludzie mówią, aby nie usuwać istniejącej wersji gcc w systemie operacyjnym, ponieważ powoduje to niestabilność systemu? Czy to prawda? –
Zgodnie z sugestią innych osób, należy wprowadzić opcję polecenia standardowego. Uczyńmy to łatwo można
- Otwórz zacisk naciskając Ctrl + Alt + T
sudo gedit ~/.bashrc
Wpisz następujący wiersz w ostatnim wierszu
alias g++="g++ --std=c++0x"
- Zapisz i zamknij plik i zamknij terminal.
- teraz otwarty zacisk ponownie skompilować C++ 11 programów po prostu
g++ filename.cpp
to wszystko. Domyślnie będzie kompilował dla standardu C++ 11.
UWAGA: Jeśli po wyżej wymienionej opcji kompilacji non-C++ 11 programów, trzeba użyć
g++ --std=c++98 filename.cpp
ok. Dzięki. Ale w ostatniej notatce wspomniałeś, że aby skompilować programy inne niż C++ 11, zmień polecenie. Ale nie każda wersja jest kompatybilna wstecz. Tak więc kompilator C++ 11 powinien skompilować nawet program bez poleceń specyficznych dla C++ 11. –
- 1. Potrzebuję zmienić kompilator na VS
- 2. Jak zmienić domyślny kompilator?
- 3. Jak zmienić kompilator Ant na JDK 1.6
- 4. Jak włączyć C++ 11 w gcc?
- 5. Instalacja GCC na Oracle Solaris 11
- 6. Jak zmienić kompilator tomcat
- 7. GCC 4.7/4.8 jako kompilator C/C++ Xcode
- 8. Ostrzeżenia niezainicjowanej członków zniknąć na C++ 11
- 9. kompilator C nie można tworzyć pliki wykonywalne w Ubuntu 12.04
- 10. Jak zainstalować kompilator krzyżowy (na Ubuntu 12.04 LTS) dla mikroprocesora SA1100?
- 11. nakładka na kompilator oparty na LLVM
- 12. C++ 11-style [[nieużywane]] atrybut w gcc?
- 13. Jak zainstalować kryptografię na Ubuntu?
- 14. Kompilator C++ obsługujący wszystkie funkcje współbieżności w C++ 11?
- 15. Głębokość inline kompilator GCC w
- 16. Jak zainstalować Hadoop na Ubuntu
- 17. Łączenie z gcc i -lm nie definiuje ceil() na Ubuntu
- 18. Jak na stałe zmienić zmienną $ PATH sudo (Ubuntu 9.x)
- 19. Jak zainstalować GCC 4.7.2 na Linux Mint?
- 20. MinGW jako niezawodny 64-bitowy kompilator GCC
- 21. Kompilowanie projektu Objective-C na systemie Linux (Ubuntu)
- 22. Ubuntu: Jak sprawdzić, jaka wersja binutils mam na moim Ubuntu?
- 23. Jak zrobić katalogu apache czytelny na ubuntu
- 24. Jak zmienić tryb z trybu C++ 98 w Dev-C++ na tryb obsługujący C++ 0x (na podstawie zakresu)?
- 25. Oczekiwanie na wątek C++ 11 do uruchomienia
- 26. Włącz obsługę C++ 11 na Androidzie
- 27. CodeBlocks, GCC: zmienić język projektu c i C++?
- 28. Zamień BOOST_FOREACH na "czystą" wersję C++ 11?
- 29. Zainstaluj gcc-C++ na CentOS bez yumu
- 30. clang oparte na platformie C++ IDE? Kompilator C++ w wersji
'g ++ -std = C++ 11' lub jeśli to nie praca, 'g ++ -std = C++ 0x' – jxh
Zawsze możesz zainstalować inną wersję GCC obok wersji systemowej. Możesz nawet samodzielnie skompilować inną wersję. W sieci jest wiele samouczków - wystarczy skorzystać z preferowanej wyszukiwarki. GCC zwykle sufikuje swoje pliki wykonywalne z numerem wersji, a także instaluje określone biblioteki w wersjach katalogowych, więc nowsze wersje nie będą kolidować z wersją dostarczoną przez system. –