【问题标题】:c++: error: unrecognized command line option ‘-std=c++14’c++:错误:无法识别的命令行选项“-std=c++14”
【发布时间】:2016-07-14 17:08:11
【问题描述】:

我刚刚将我的电脑从 Ubuntu 15.10 转移到 Linux Mint 17.3。

在这个转变之前,这个项目在 CLion 中编译得很好。现在,它给出了以下错误:

c++:错误:无法识别的命令行选项'-std=c++14'

这可能是由于我的 CMake 文件中的这一行:

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14 -W -Wall -Wextra -pedantic")

我怀疑这个错误是由于某些过时的库/编译器造成的。我不知道我到底需要做什么。

P.S.:我知道 C++14 在 CLion 中不完全支持,编辑器会报语法错误,但它仍然可以编译。

【问题讨论】:

  • 你有什么 gcc 版本?
  • @wRAR g++ --version 返回g++ (Ubuntu 4.8.4-2ubuntu1~14.04.1) 4.8.4
  • gcc 4.8 没有多少 c++14:“目前与 -std=c++11 的唯一区别是支持普通函数中的返回类型推导,如 N3386 中所提议的那样。”

标签: c++14 linux-mint clion


【解决方案1】:

-std=c++14 在旧的 gcc 版本(至少 4.9 和更早版本)中称为 -std=c++1y。

【讨论】:

  • -std=c++1y 不支持所有 C++14。
  • -std=c++1y 与 -std=c++14 相同(在 5.x 中它们是同义词)。标准支持取决于编译器版本,而不是选项名称。
  • 最新的g++有没有办法使用clion?
  • 不是clion的问题,需要先安装较新的gcc。
  • 为了稳定,我不想用较新的版本替换我的发行版的 gcc 包。我从源代码编译gcc 并将二进制文件放在一个目录中。我可以让 CLion 使用它吗?
猜你喜欢
  • 2021-05-07
  • 2015-02-05
  • 2016-02-10
  • 2017-04-09
  • 2016-06-19
  • 1970-01-01
  • 1970-01-01
  • 2015-12-16
  • 2014-07-06
相关资源
最近更新 更多