在Jgrasp中编译为c ++ 11

问题描述 投票:1回答:1

我已经设置了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
c++ c++11 compiler-errors jgrasp
1个回答
0
投票

我在jGrasp上遇到了同样的问题。如果您无权访问Microsoft Visual Studios(仅Windows版本,Mac版本不能使用C ++ 11),则可以使用在线编译器,例如repl.it

© www.soinside.com 2019 - 2024. All rights reserved.