[英]Migrating from ARM 5 to ARM 6 Compiler: Unknown type name '__STATIC_INLINE' in ARM CMSIS file
[英]Compiler doesnt recognize __STATIC_INLINE
我有一個使用arm-none-eabi-gcc編譯器在ARM體系結構上運行的C項目,現在我正在嘗試使用gnu99編譯器在Windows上本地編譯它因為我需要進行單元測試而且很難在實際的硬件。
但是編譯器沒有識別靜態內聯命令,盡管我在makefile中包含了內聯標志,如下所示: CFLAGS += -fgnu89-inline
以下是我得到的錯誤:
error: expected '=', ',', ';', 'asm' or '__attribute__' before 'void' __STATIC_INLINE void
有沒有人知道如何讓編譯器識別內聯命令?
名稱__STATIC_INLINE
不是標准C的一部分。您需要為其提供宏定義,或者應將static inline
替換為__STATIC_INLINE
。
我猜在一些頭文件中有一行代碼如下:
#define __STATIC_INLINE static inline
這種丑陋黑客的動機是保持C99之前的兼容性。 根據您正在編譯的平台,可能會刪除此#define。 交叉編譯器與PC平台。
隨着代碼的發展,我會努力去除這種類型的廢話。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.