繁体   English   中英

CLion禁用C ++ 98模式而支持C ++ 11

[英]CLion disable C++98 mode in favour of C++11

我正在尝试使用JetBrains CLion中的C ++ 11语法编译一些代码,所以我希望禁用C ++ 98模式。 我按照StackOverflow问题的说明进行操作,但无法使其正常工作。

为了实现这个目标,我去了ALT + SHIFT + F10并在程序参数中传递了参数-std=c++11

再次构建时,C ++ 98模式似乎仍然启用。

/cygdrive/c/Users/Zarthus/Documents/test/command.cpp: In constructor 'Command::Command(std::vector<std::basic_string<char> >)':
/cygdrive/c/Users/Zarthus/Documents/test/command.cpp:25:32: error: range-based 'for' loops are not allowed in C++98 mode
     for (std::string command : commands)
                                ^

在代码中

Command::Command(std::vector<std::string> cmds)
{
    for (std::string command : cmds)
    {
         addCommand(command);
    }
}

虽然我很确定问题不在我的代码中( IdeoneC ++ 11IdeoneC ++ 98(4.8.1)

图片: CLion界面

我想象的是编译字符串(每条评论):

C:\cygwin64\bin\cmake.exe --build C:\Users\Zarthus\.clion10\system\cmake\generated\6dd8bed\6dd8bed\Debug --target testProject -- -j 4

因此它似乎不包括我的内容。

我对其他JetBrains IDE没有很多经验,但据我所知,它们大致相同。

有人能够重现这个吗? 我是否应该向JetBrains发送反馈意见,这可能不是100%工作(它仍然是早期发布版本)? 或者我只是搞砸了,这里有用户错误吗?

谢谢!

这已通过将add_definitions(-std=c++11)CMakeLists.txt的末尾而不是ALT + SHIFT + F10的命令行参数中来解决。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM