发现AT32官方库BUG 8月22日
官方库在支持c++时部分文件缺失#ifdef __cplusplus
}
#endif
在at32f4xx_syscfg.h文件中上句放在了#endif /*__AT32F4XX_SYSCFG_H */前边,此时工程使用的AT32F415并未定义AT32F421xx,故编译器将#ifdef __cplusplus也给屏蔽了,导致缺失#ifdef __cplusplus,c++编译报错。
修改建议将#ifdef __cplusplus放到第171行后边
厉害 感谢楼主反馈,该问题已经在2021年3月18日的V1.3.0版本修改。
请使用最新版本的bsp,谢谢。 muyichuan2012 发表于 2021-8-23 08:54
感谢楼主反馈,该问题已经在2021年3月18日的V1.3.0版本修改。
请使用最新版本的bsp,谢谢。 ...
说到对C++的支持,雅特力所有型号的GCC startup.s里面都没有在跳转main之前调用__libc_init_array,会导致C++静态变量没有被正确初始化。 感谢反馈,另外请问st的库有做这部分操作没? muyichuan2012 发表于 2021-8-23 19:48
感谢反馈,另外请问st的库有做这部分操作没?
有,ST的是这么写的:
/* Call static constructors */
bl __libc_init_array
/* Call the application s entry point.*/
bl main 收到 哈哈,说到底是楼主没用最新版本的bsp
页:
[1]