gpt4 book ai didi

c++ - CLion 禁用 C++98 模式以支持 C++11

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:24:09 31 4
gpt4 key购买 nike

我正在尝试在 JetBrains CLion 中仅使用 C++11 语法编译一些代码,因此我希望禁用 C++98 模式。我按照 this StackOverflow question 的说明进行操作,但我无法让它工作。

为了实现这个目标,我使用 ALT + SHIFT + F10 并在 Program Arguments 中传递参数 -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 Interface

我想象的是编译字符串(根据评论):

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 的命令行中解决参数。

关于c++ - CLion 禁用 C++98 模式以支持 C++11,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25899738/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com