【问题标题】:Enable C++ support ARMCC compiler启用 C++ 支持 ARMCC 编译器
【发布时间】:2015-04-25 13:25:15
【问题描述】:

我正在 Keil (V5) 中设置一个基本项目。我想在我的项目中使用 C++。我正在使用 ARMCC 编译器。

我创建了一个简单的类 CTest。但似乎我的项目设置/编译器不支持 C++。 C 代码编译良好,但无法识别关键字“类”。

构建日志:

是否有启用 C++ 功能的特殊设置?

【问题讨论】:

  • 您是否尝试调用您的文件 main.cpp ?
  • 该修复有效,谢谢:) 但是我的 systick 函数不能在 main.cpp 中,所以我不得不将它移动到单独的 C 文件中。
  • 如果由于 C++ 名称修改而无法在 .cpp 中包含 systick,如果在定义中使用 extern "C",您应该能够将其放入 .cpp,例如extern "C" int systick( ... ) { ... }

标签: c++ keil


【解决方案1】:

我只是尝试制作一个项目并且编译 C++ 工作正常。但是,如果您尝试将代码插入 C 文件中,它将失败。 (即带有 .c 扩展名。)确保您的文件具有 .cpp 扩展名。

编辑:

在您的情况下,.h 很好,但如果它包含 C++ 定义,则不能将其包含在 .c 文件中。

【讨论】:

    【解决方案2】:

    使用 --cpp 启用编译器支持。
    我已阅读 armcc 用户指南,它支持 c++11 的子集。

    添加:

    我认为头文件没有语言类型。
    它仅在源文件包含时使用。

    【讨论】:

      【解决方案3】:

      在项目选项 c/c++ 选项卡下,杂项控制使用 --CPP

      它指向 cpp 编译器

      【讨论】:

        【解决方案4】:

        您必须为目标部分添加选项->C/C++ 部分
        杂项 --cpp Keil C++ Support

        【讨论】:

          【解决方案5】:

          project->manage->project 中,items->folders extensions 添加 *.hpp 作为 c++ 文件扩展名,并将头文件重命名为 *.hpp。应该可以的。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2014-11-05
            • 2010-10-14
            • 1970-01-01
            • 2011-09-04
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多