【问题标题】:Why random header not importing为什么随机标题不导入
【发布时间】:2015-07-06 03:10:43
【问题描述】:

我用 C++ 编写了代码,并通过键入 make 对其进行编译。发生错误:

/usr/include/c++/4.8/bits/c++0x_warning.h:32:2: 错误:#error 这个 文件需要对 ISO C++ 2011 的编译器和库支持 标准。此支持目前是实验性的,必须启用 使用 -std=c++11 或 -std=gnu++11 编译器选项。

【问题讨论】:

  • 也许按照错误信息添加到命令行
  • 错误信息告诉你如何通过编辑你的 Makefile 来纠正它。

标签: c++ random include


【解决方案1】:

您需要在编译器参数中添加“-std=c++11”,告诉它它是 C++11 编译器

$ g++ -std=c++11 your_file.cpp -o your_program

如果您使用的是某些 IDE,则需要搜索文档以了解如何添加此行以便编译器知道。

【讨论】:

    【解决方案2】:

    随机库正在使用更新版本的 C++ 标准 (C++11)。您需要修改您的 makefile 以使用 -std=c++11 标志。如果您发布您的 makefile 内容,我可以进一步建议您,否则请查看以下问题:Makefile modification to support c++11

    根据发布的 cmakefile,将这些行添加到您的 cmakefile:

    set_property(TARGET abc PROPERTY CXX_STANDARD 11)
    set_property(TARGET abc PROPERTY CXX_STANDARD_REQUIRED ON)
    

    【讨论】:

    • 你是只用make还是先用cmake再make?你是从另一个项目中得到那个 makefile 的吗?
    • 那么在这种情况下,cmakefile 正在生成 makefile,因此您需要将其发布
    • 我必须按原样添加行或进行修改以说出 TARGET 或 prog 或 PROPERTY?
    猜你喜欢
    • 2014-05-21
    • 1970-01-01
    • 2013-09-26
    • 1970-01-01
    • 2022-12-02
    • 1970-01-01
    • 2013-12-25
    • 2016-07-13
    • 2012-01-27
    相关资源
    最近更新 更多