我在Keil(V5)中设置了一个基本项目。我想在我的项目中使用C++。我正在使用ARMCC编译器。启用C++支持ARMCC编译器
我创建了一个简单的类CTest。但似乎我的项目设置/编译器不支持C++。 C代码编译得很好,但关键字'class'未被识别。
生成日志:
是否有一个特殊的设置,使C++特性?
我在Keil(V5)中设置了一个基本项目。我想在我的项目中使用C++。我正在使用ARMCC编译器。启用C++支持ARMCC编译器
我创建了一个简单的类CTest。但似乎我的项目设置/编译器不支持C++。 C代码编译得很好,但关键字'class'未被识别。
生成日志:
是否有一个特殊的设置,使C++特性?
我只是试图做一个项目和编译C++工作正常。但是,如果您尝试将代码插入到C文件中,它将会失败。 (即扩展名为.c)。确保文件的扩展名为.cpp。
编辑:
而在你的情况下,.H是好的,但如果它包括C++定义你不能将其包含在.c文件。
使用--cpp启用编译器支持。
我读过armcc用户指南,它支持C++ 11的一个子集。
地址:
我不觉得一个头文件中有一个语言类型。
仅当它被源文件包含时才使用它。对于其它控件
下,项目选择C/C++选项卡使用--cpp
它指向CPP编译器
您必须添加选项对于目标本条> C/C++部分
其它--cpp Keil C++ Support
您是否尝试过调用您的文件main.cpp? – mpromonet
修复工作,谢谢:)但我的systick功能不能在main.cpp,所以我不得不将它移动到一个单独的C文件。 – MvHorssen
如果由于C++名称混乱而无法在.cpp中使用systick,如果在定义中使用了extern“C”,则应该能够将其放入.cpp文件中。 extern“C”int systick(...){...} – Anthony