首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CubeMx和Atollic裸项目中的宏可见性

CubeMx和Atollic裸项目中的宏可见性
EN

Stack Overflow用户
提问于 2018-06-11 14:24:23
回答 2查看 250关注 0票数 0

我从零开始创建了一个简单的CubeMx项目,并在Atollic上打开了它。当然,它的编译成功了。我一直在查看项目的目录和文件,以便更好地理解构建新项目时的基本结构。

我目前使用的是STM32板,它配备了CortexM4 CPU,我正在用GCC编译器用C语言编程。在这个项目中,我找到了一个名为core_cm4.h的头文件,它是宏声明的触点,即#define语句。这就是奇怪的地方:当我尝试在main.c文件(和任何其他新文件中)中使用这些宏时,它们都是可用的和可识别的,但有以下几个:

代码语言:javascript
复制
#elif defined ( __GNUC__ )
   #define __ASM            __asm          /*!< asm keyword for GNU Compiler */
   #define __INLINE         inline         /*!< inline keyword for GNU Compiler */
   #define __STATIC_INLINE  static inline

定义了__GNUC__符号,编译器不报告任何警告或错误。然而,IDE没有在下拉菜单中提供这些宏,并将这个单词作为语法错误的信号。

我试图将声明移到core_cm4.h文件中的其他地方,但没有成功。我是不是忽略了一些相关的东西?

EN

回答 2

Stack Overflow用户

发布于 2018-06-11 23:16:41

您说过定义了__GNU__符号,但是#elif正在检查__GNUC__,这不是一回事。这是你的错吗?

票数 0
EN

Stack Overflow用户

发布于 2018-06-12 09:39:01

根据您的答复,该项目成功编译:

请尝试“刷新所有文件”,然后“重建”索引。

(您可以通过右键单击项目资源管理器中的项目名称来找到这些命令)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50800023

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档