[英]Typedef an externel structure in file using cross-compiler (arm-none-eabi-gcc)
[英]Compiler error using arm-none-eabi-gcc and bool variables
我正在嘗試使用arm-none-eabi-gcc編譯STM32的usb環回示例,但由於布爾變量而陷入編譯器錯誤。 錯誤是error: expected ';', identifier or '(' before '_Bool'
,並且冒犯的行是
typedef enum
{
FALSE = 0, TRUE = !FALSE
}
bool;
根據我的閱讀,似乎bool
是_Bool
的別名,而gcc轉換為bool
是實際類型。 不幸的是,我不知道如何解決這個問題。 通過一些谷歌搜索,我已經讀到類似的問題有時與在其他位置定義TRUE
和FALSE
有關,但是我使用的是STM大致不變的代碼,並且不知道它們可能在其他地方定義。 我還讀到它可能是由於針對libc進行鏈接,但使用-nostdlib
編譯時會-nostdlib
相同的錯誤。 我有什么辦法可以縮小這個問題? 謝謝。
由於此typedef試圖定義布爾類型並且我的編譯器試圖使用_Bool類型,所以我最終要做的就是一起注釋掉typedef並僅使用
#define TRUE 1
#define FALSE 0
我不能肯定這解決了問題,因為我仍然無法枚舉USB設備,但是程序現在可以編譯了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.