回答
這是我最好的猜測。您用於編譯項目 的編譯器是gcc。你有-std=c++11
設置在你的全球設置 這個編譯器,但安裝的版本gcc太舊, 認識到這個選項。
在代碼檢查了這一點:: Blocks的IDE:
導航設置 - >編譯器
從下拉菜單中標記選擇編譯,選擇GNU GCC編譯器
在下面的選項卡上,選擇個編譯器設置 - >編譯器標誌
從標有「類別」下拉菜單中選擇
<All categories>
。看不起的編譯器選項的複選框列表,直到您看到:
得克++遵循C++ 11的ISO C++語言標準[-std = C++ 11]
- 如果選中該複選框,那可能是您的問題。取消選中它,單擊確定, 然後嘗試重建您的項目。
如果解決了這個問題,你應該考慮升級GCC到支持-std=c++11
選擇一個版本(> = 4.7) 你屆時將有最新的C++標準的C++ 語言和庫功能的支持。
如果你不能這樣做,你可能會發現-std=c++0x
選項是可接受的 到您的編譯器。如果可行,它將提供對編譯器發佈時可用的C++ 11標準版本的臨時 版本的支持。
一個不太可能的情況比上面是您正在使用 建設項目中的編譯器是不是GCC,但其他一些和非命令行兼容 編譯器比你在代碼::塊通過複製建立海合會全局 配置,其中設置了-std-c++11
選項。在這種情況下,您只需 必須確保沒有爲此編譯器配置的全局選項,即 它無法識別。
爲了您將來的參考,如果您遇到C++編譯器的命令行選項 問題,請說明它是什麼編譯器,以及哪個版本。
我在回答之前發現了問題,但問題是在全局設置中檢查了它。無論如何,我仍然需要檢查我的編譯器版本。 –
這是MinGW 4.6.2。這是舊的嗎? –
@ MonetR.Adams是的,對於'-std-C++ 11'(你需要> = 4.7)來說太舊了,但它會接受'-std = C++ 0x'。 –
- 1. 無法識別的命令行選項「-std = C++ 11」
- 2. cc1plus:錯誤:無法識別的命令行選項「-std = C++ 11」
- 3. C++編譯錯誤:無法識別的命令行選項「-std = C++ 11」
- 4. cc1plus.exe:錯誤:無法識別的命令行選項'-std = C++ 11'Netbeans 7
- 5. cc1plus:錯誤:無法識別的命令行選項「-std = C++ 0x」
- 6. GCC 4.8.2 cc1plus:錯誤:無法識別的命令行選項「-std = GNU + 11」
- 7. 哪個版本的g ++會執行Scons pick |無法識別的命令行選項 「-std = C++ 11」
- 8. cmake/make - 無法識別的命令行選項「-std = C++ 14」 - 但是G ++確實
- 9. 中無法識別的命令行C++ 11
- 10. C++錯誤:無法識別的命令行選項'-msse3'
- 11. GCC:錯誤:無法識別的命令行選項「-J」
- 12. 編譯pygraphviz:無法識別的命令行選項 '-mno-cygwin的'
- 13. G-WAN cc1plus:錯誤:無法識別的命令行選項「-std = gnu ++ 0x」
- 14. 無法識別的命令行選項'-stdlib = libstdC++'
- 15. MongoDB:錯誤分析命令行:無法識別的選項'--sslMode'
- 16. GCC:錯誤:無法識別的命令行選項「-1M」
- 17. 無法識別的命令行選項'--exclude-libs = libpthread.a'openblas mingw-w64
- 18. 克++:錯誤:無法識別的命令行選項「-stdlib =的libstdC++」
- 19. 無法識別的命令行選項,而在Cygwin的
- 20. MinGW gcc無法識別的命令行選項'-Wl'/'Wa'/'Wp'
- 21. F951錯誤:無法識別的命令行選項
- 22. 使用MinGW編譯 - 無法識別的命令行選項
- 23. gcc:錯誤:無法識別的命令行選項'-fforce-mem'
- 24. tensorflow:gcc:error:無法識別的命令行選項'--copt = -msse4.2'
- 25. g ++ error無法識別的命令行選項
- 26. 無法識別的命令行選項「-fno-objc-arc」
- 27. JVMJ9VM007E命令行選項無法識別:-javaagent
- 28. 無法編譯Cython代碼 - 無法識別的命令行選項'-mno-cygwin'
- 29. WebSphere 8.5.5:JVMJ9VM007E命令行選項無法識別:-Xcheck:dump
- 30. MinGW 4.7.1無法識別命令行選項-static-libstdC++
我試圖啓用,但出於某種原因「-std = C++ 11」仍在調用中。 –