FASTSHIFT / Arduino-For-Keil

A lightweight Arduino framework for Keil projects.
MIT License
358 stars 131 forks source link

编译无法使用C++11 arduino的很多库在头文件中就给成员赋值了 导致出错 这个问题怎么解决 #33

Closed kaihuaa closed 1 year ago

kaihuaa commented 1 year ago

编译无法使用C++11 arduino的很多库在头文件中就给成员赋值了 导致出错 这个问题怎么解决

FASTSHIFT commented 1 year ago

1.对使用C++ 11的cpp文件添加--cpp11参数。 2.修改成员变量初始化方式,在构造函数中进行初始化,不在class定义变量的时候直接初始化。

kaihuaa commented 1 year ago

在对加入的c++文件这里单独配置misc controls 加入--cpp11 文件math.h 报错

FASTSHIFT commented 1 year ago

用的什么库,可以发一下吗?

kaihuaa commented 1 year ago

ICM42688

FASTSHIFT commented 1 year ago

三个修改: 1.给Libraries组添加--cpp11参数 _$ JAR{9}Z3ZJ1HNRT PI4H 2.在ICM42688.cpp中添加宏定义#define abs(x) ABS(x) PGO4TI9@RQFSKCT5Y8A0 {2

3.为该库的引用者(以main.cpp为例)添加--cpp11参数 %8IK`{93{~%V2{ 2$_3~99D

kaihuaa commented 1 year ago

按照您的步骤做了一遍 还是之前的问题 可以分享下您的工程吗

FASTSHIFT commented 1 year ago

WMath.h中引用了math.h库,删除即可。还有删除ICM42688.h中的using ICM42688::ICM42688; ICM42688_F103_Test.zip

目前主线维护的是AT32的支持,STM32用得比较少了。

kaihuaa commented 1 year ago

好的 感谢您 百忙之中 回复我 ,对您的帮助再次表示感谢