MDK使用armclang编译C++程序

参考例程下载:https://github.com/conscience-still/MDK-Cplusplus--LED

下载工程

 打开工程并编译

先编译确认此工程没有任何问题

说明:但是这个工程默认是使用armcc编译器(arm compiler 5)

切换编译器为armclang

 设置编程语言和编译选项

 编译出现以下问题:

error: invalid argument '-std=c99' not allowed with 'C++'
compiling system_stm32f0xx.c...
error: invalid argument '-std=c99' not allowed with 'C++'
compiling retarget.c...
error: invalid argument '-std=c99' not allowed with 'C++'

这个错误意思是-std=c99不允许使用C++,后面查看-std这个编译选项发现这个是用来指定编译语言类型的,比如C或者C++

 查看armclang用户手册

 所以我们将编译语言修改为C++就可以解决此问题

修改编译选项

最后再编译,一切OK

 其他错误及解决

如果编译选项没有加-xc++则会出现namespace无法识别的错误。

表示没有用C++编译器来编译工程,因为此工程为C++编写的,C编译器当然无法识别C++相关的语法啦。

参考文档

关于此文章中所用的C++例程,详细的基于armcc的配置步骤大家可以参考此博客:

https://blog.csdn.net/lyn631579741/article/details/105964055/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值