随风允诺2015 发表于 2015-10-20 11:59:47

[求助]UCOSIII C++开发编译不通过

之前用armfly X3 的板子和配套的已经移植好的UCOSIII例子,写了C++测试程序,编译不通过, 错误信息
‘’..\..\User\main.c(59): error:#20: identifier "class" is undefined‘’
然后修改Options for Target 'Flash'中的 Misc Controls哪一个对话框改成-cpp
还是会报错误。。。不知道有没有人用C++在UCOSIII中写过代码。

路人甲被注册了 发表于 2015-10-20 17:29:42

本帖最后由 路人甲被注册了 于 2015-10-20 17:34 编辑

MCU还是跑C吧……
identifier "class" is undefined‘’

不是ucos的问题,是编译器不支持class吧。

随风允诺2015 发表于 2015-10-20 17:53:58

路人甲被注册了 发表于 2015-10-20 17:29
MCU还是跑C吧……
identifier "class" is undefined‘’



编译器是支持C++的 ,我上面已经修改了options选项里面的Misc Controls, 可以编译cpp 文件也能识别出class 关键字, 然后会报其他的错误。
如果不使用UCOSIII 我写了一个测试程序是可以编译C++文件,并且是可以运行的。

eye 发表于 2015-10-21 12:29:58

main.cpp   字数补丁

随风允诺2015 发表于 2015-10-21 21:57:15

eye 发表于 2015-10-21 12:29
main.cpp   字数补丁

使用的.cpp文件啊, 能编译过了么?

eye 发表于 2015-10-21 23:01:35

‘’..\..\User\main.c(59): error:#20: identifier "class" is undefined‘’

你这个明明就是 .c
是按照扩展名调用对应编译器的

随风允诺2015 发表于 2015-10-24 19:59:52

eye 发表于 2015-10-21 23:01
‘’..\..\User\main.c(59): error:#20: identifier "class" is undefined‘’

你这个明明就是 .c


可能是我没有表述清楚,前面的问题已经解决了。
现在UCOSIII 能用C++开发了,解决方法是,将一些UCOS III 中的一部分.c文件对应的.h文件用
#ifdef __cplusplus
        extern "C"{
#endif
...
...
#ifdef __cplusplus
}
#endif
抱起来,表示这部分代码指定用C编译器来编译。
页: [1]
查看完整版本: [求助]UCOSIII C++开发编译不通过