【问题标题】:Build c++0x features with Eclipse使用 Eclipse 构建 c++0x 功能
【发布时间】:2012-01-23 18:33:02
【问题描述】:

使用 Eclipse 构建时,会收到有关 c++0x 关键字的警告和错误。示例:

标识符 ‘decltype’ 将成为 C++0x 中的关键字

如何解决?

编辑:

Project->Properties->C/C++ Build->Discovery options->GCC C++ 编译器->编译器调用参数->[-E -P -v -dD ${plugin_state_location}/specs.c --std=gnu++0x]

但它没有效果,有趣的是,即使把空字符串放在那里,它也会尝试编译时出现相同的错误。不知道这个参数需要什么(

【问题讨论】:

  • 你真的在尝试用 C++11 编译吗?
  • 你用的是什么工具链 gcc?如果是这样,您需要传递一个标志来启用 c++0x 功能。 -std=c++0x 或 -std=gnu++0x
  • @ted,当前工具链:Linux GCC。
  • decltype 是一个 C++0x 扩展,GCC 尚未完全支持。它是一个接受表达式并返回类型的运算符。 我从这里 stackoverflow.com/questions/2763824/… 拿来这个,试图看看它是否过时
  • 根据gcc.gnu.org/projects/cxx0x.html,它应该在 gcc >= 4.3 中实现(参见表达式的声明类型

标签: c++ eclipse compilation c++11


【解决方案1】:

试试这个:

项目 -> 属性 -> C++-Build[Settings] -> G++Compiler[miscellanous] -> 其他标志

在此处添加“-std=c++0x”。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-07
    • 2011-04-01
    • 2011-02-22
    • 2010-10-14
    • 1970-01-01
    • 2015-10-14
    相关资源
    最近更新 更多