我使用的是Ubuntu 12.04,默認gcc是4.6.3。它不接受C++ 11的命令,並給我輸出說這個命令不是C++ 98兼容的。我在網上查了一下,看到有人建議不要在操作系統上更改默認編譯器,因爲它變得不穩定。任何人都可以建議下載符合C++ 11的gcc編譯器的修復方法或安全方式。如何將gcc編譯器更改爲ubuntu上的C++ 11
回答
gcc 4.6.3 supports many c++11 features。但是,它們默認是禁用的。要啓用它們,請使用以下標誌:
g++ -std=c++0x ...
此標誌還禁用GNU擴展;要使它們保持啓用狀態,請使用-std=gnu++0x
標誌。
所以我需要輸入命令編譯爲g ++ -o可執行文件filename.cc -std = C++ 0x是嗎? –
@talasila正確。你可能要考慮將gcc升級到4.8,[它有更好的C++ 11支持](http://gcc.gnu.org/gcc-4.8/cxx0x_status.html)。 – dasblinkenlight
如何將我的默認編譯器更新爲新的編譯器。爲什麼人們說不要在操作系統中刪除現有的gcc版本,因爲它會導致系統不穩定?這是真的嗎? –
正如其他人所建議的,您需要輸入std命令行選項。讓我們很容易讓你
-
按
按Ctrl +
Alt鍵 +
牛逼
- 打開終端
sudo gedit ~/.bashrc
輸入以下命令行作爲最後一行
alias g++="g++ --std=c++0x"
- 保存並關閉文件並關閉終端。
- 現在打開終端再次和
g++ filename.cpp
這就是它編譯C++程序11簡單。默認情況下,它將編譯爲C++ 11標準。
注:如果你按照上面提到的選項,編譯非C++ 11名的程序,你必須使用
g++ --std=c++98 filename.cpp
好的。謝謝。但是在最後一個註釋中,您提到要編譯非C++ 11程序,請更改命令。但並非每個版本都向後兼容。因此,C++ 11編譯器應該編譯甚至沒有C++ 11特定命令的程序。 –
- 1. Android GCC編譯器更改
- 2. 如何在Eclipse IDE中將編譯器從C更改爲C++?
- 3. 在Ubuntu上編譯GCC 6.1 16.04
- 4. 在Ubuntu上編譯darwin的步驟gcc
- 5. Ubuntu上的gcc編譯問題13.04
- 6. 關於ubuntu gcc編譯器的問題
- 7. Ubuntu的GCC編譯錯誤
- 8. 編譯C++ ubuntu上
- 9. Windows上的Matlab:將'mex'默認編譯器更改爲Cygwin的GCC
- 10. Ubuntu編譯器(C++)
- 11. 如何更改編譯器在Xcode C++
- 12. 如何更改GCC編譯器的目標目錄?
- 13. C++ 11:編譯器何時將{}視爲std :: initializer_list,何時不會?
- 14. 更改編譯C編譯器
- 15. 最小GCC C++編譯器
- 16. GNU GCC編譯器更新
- 17. C++編譯器標誌11
- 18. C++編譯器g ++ 11
- 19. 如何使用GCC將C代碼編譯爲8088彙編?
- 20. C++編譯C++ 11
- 21. 如何用GCC編譯Objective-C代碼?
- 22. 如何爲C++ 11設置我的g ++編譯器?
- 23. 如何更改默認的GCC編譯器以便在Linux上使用MPI CentOS
- 24. 如何在Ubuntu上爲POCO編譯SQLite?
- 25. GCC 4.7/4.8作爲Xcode的C/C++編譯器
- 26. 如何將ubuntu更改爲root?
- 27. 如何用C++編譯c複數11
- 28. 如何在visual studio 2010 express版上啓用C++ 11編譯器?
- 29. 如何在Vista x64上卸載Intel C++編譯器(ICC)11?
- 30. 編寫一個修改gcc c編譯器的bash腳本
'G ++ -std = C++ 11'或者如果沒有work,'g ++ -std = C++ 0x' – jxh
您可以隨系統安裝另一個版本的GCC。你甚至可以自己編譯另一個版本。網絡中有很多教程 - 只需使用您的首選搜索引擎即可。 GCC通常將其可執行文件後綴爲版本號,並將其特定庫安裝在版本化目錄中,以便新版本不會與系統提供的版本衝突。 –