我已经设置了Jgrasp并在c ++上运行良好。我想使用c ++ 11。我收到以下编译错误:
gift1.cpp:52:24: warning: range-based 'for' loops only available with -std=c++11 or -std=gnu++11
我试图通过单击设置,编译器设置,工作区来解决。我复制了环境设置“ g ++-通用”,并将其重命名为“用户:g ++-通用”。然后单击“编辑”。我更改了原始的编译代码:
g++ %<CY> %<D> -g %<D> -c -o %<RELE_DEF_BIN_DIR>%<base>.o %<> %<REL_FILE>
to
g++ %<CY> %<D> -g %<D> -c -o -std=c++11 %<RELE_DEF_BIN_DIR>%<base>.o %<> %<REL_FILE>
但是它仍然给出相同的错误。 (我添加了“ -std = c ++ 11”。)
编辑:我已将字符串更改为
g++ -std=c++11 %<CY> %<D> -g %<D> -c -o %<RELE_DEF_BIN_DIR>%<base>.o %<> %<REL_FILE>
但是有相同的问题。我同意这样的意见,即这似乎根本没有修改我的构建命令。当我编译时,它输出:
jGRASP exec: g++ -g -o gift1.exe gift1.cpp
我在jGrasp上遇到了同样的问题。如果您无权访问Microsoft Visual Studios(仅Windows版本,Mac版本不能使用C ++ 11),则可以使用在线编译器,例如repl.it