gpt4 book ai didi

使用arm-none-eabi-gcc和bool变量的编译器错误

转载 作者:行者123 更新时间:2023-11-30 15:15:20 26 4
gpt4 key购买 nike

我正在尝试使用arm-none-eabi-gcc为STM32编译一个USB环回示例,但遇到了bool变量的编译器错误。错误为错误:“_Bool”之前应有“;”、标识符或“(”,违规行为

typedef enum
{
FALSE = 0, TRUE = !FALSE
}
bool;

根据我的阅读,似乎 bool_Bool 的别名,而 gcc 转换为 bool 是一个实际类型。不幸的是我不知道如何解决这个问题。通过一些谷歌搜索,我发现类似的问题有时与在其他地方定义 TRUEFALSE 有关,但我使用的 STM 中的代码基本上没有变化,并且不知道它们可能在其他任何地方被定义。我还了解到这可能是由于链接 libc 而导致的,但在使用 -nostdlib 编译时出现了相同的错误。我能做些什么来缩小这个问题的范围吗?谢谢。

最佳答案

由于这个 typedef 试图定义一个 bool 类型,而我的编译器试图使用 _Bool 类型,所以我最终所做的就是一起注释掉 typedef 并仅使用

#define TRUE 1
#define FALSE 0

我不确定这是否解决了问题,因为我仍然无法枚举 USB 设备,但程序现在可以编译。

关于使用arm-none-eabi-gcc和bool变量的编译器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33682173/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com