【问题标题】:Enable C++14 syntax checking in Eclipse在 Eclipse 中启用 C++14 语法检查
【发布时间】:2016-05-06 02:36:23
【问题描述】:

我在 Windows 中使用 Eclipse Mars.2 Release (4.5.2)。 C++11 运行良好,但对于 C++14,我可以使用 C++14 功能构建和运行项目而不会出现任何错误,但 IDE 总是在使用 C++14 功能的行中突出显示错误,这让我很难检测到真正的错误。

例如使用 std::make_unique 时,它​​总是突出显示错误符号,并通知“符号'make_unique'无法解析”。

如何在 Eclipse 中启用 C++14 语法检查?

我目前的配置:

项目属性 -> C/C++ 构建 -> 设置 -> 预处理器 -> 定义符号:

  • __GXX_EXPERIMENTAL_CXX0X__
  • __cplusplus=201403L

项目属性 -> C/C++ 构建 -> 设置 -> 其他 -> 其他标志:

  • -c -fmessage-length=0 -std=c++14

【问题讨论】:

    标签: eclipse c++14


    【解决方案1】:

    你走错路了。要更改编译器和索引器,请转到属性 -> C/C++ 构建 -> 设置。在 GCC C++ 编译器下选择方言菜单。在语言标准下拉列表中,选择 C++1y。不过,我认为支持还不够充分。

    【讨论】:

    • 支持已满。它对我有用,但我一直讨厌需要做多少事情才能让它发挥作用。仅发现 static_casting<> 返回值为 std::bind 的罕见情况,但幸运的是解析器没有将它们标记为错误 - 恰恰相反 - 解析器不会通知您编译器会出现的一些错误。
    • 我使用的是 Oxygen.3,并且在 C++ 项目的属性 -> C/C++ 构建 -> 设置下,任何地方都没有“GCC C++ 编译器”。我有“二进制解析器”和“错误解析器”。
    • 这在氧气中对我有用。 stackoverflow.com/a/13635080/3817433
    【解决方案2】:

    保持 项目属性 -> C/C++ 构建 -> 设置 -> 其他 -> 其他标志:

    -c fmessage-length=0 -std= c++0x

    应该工作..

    【讨论】:

    • 设置下没有“杂项”。至少在我的 C++ 项目中没有。
    • 当使用自己的makefile(例如,因为使用CMake等)时,激活“自动生成Makefile”而不是更改设置并再次停用设置!即使隐藏选项卡,Eclipse 也会记住这些设置。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-24
    • 2016-02-04
    • 2017-04-01
    • 1970-01-01
    相关资源
    最近更新 更多