硬汉嵌入式论坛

 找回密码
 立即注册
查看: 909|回复: 4
收起左侧

[FreeRTOS] FreeRTOS编译报错

[复制链接]

9

主题

25

回帖

52

积分

初级会员

积分
52
发表于 2024-12-16 15:39:15 | 显示全部楼层 |阅读模式
如图一所示,在extern互斥量时,按照第44行能编译通过;第47行再增加别的互斥量就提示unknown type name 'SemaphoreHandle_t',请教为什么?

图1

图1
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115434
QQ
发表于 2024-12-17 09:16:09 | 显示全部楼层
在这个头文件里面把FreeRTOS里面包含SemaphoreHandle_t的头文件加上下
回复

使用道具 举报

9

主题

25

回帖

52

积分

初级会员

积分
52
 楼主| 发表于 2024-12-17 10:14:51 | 显示全部楼层
eric2013 发表于 2024-12-17 09:16
在这个头文件里面把FreeRTOS里面包含SemaphoreHandle_t的头文件加上下

呃,我是好奇为什么通过#if DEBUG_Print extern Semaphorehandle_t xx #endif 这样不会报错
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115434
QQ
发表于 2024-12-17 10:20:19 | 显示全部楼层
cv_master 发表于 2024-12-17 10:14
呃,我是好奇为什么通过#if DEBUG_Print extern Semaphorehandle_t xx #endif 这样不会报错

改成如下试试,条件编译器没起作用吧

#if 1
   extern Semaphorehandle_t xx
#endif
回复

使用道具 举报

9

主题

25

回帖

52

积分

初级会员

积分
52
 楼主| 发表于 2024-12-17 15:09:51 | 显示全部楼层
eric2013 发表于 2024-12-17 10:20
改成如下试试,条件编译器没起作用吧

#if 1

试过了,#if 1 extern Semaphorehandle_t xx; #endif还是会报错;O3优化,V6.21编译版本;看起来像是宏条件没起作用
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-4-26 00:24 , Processed in 0.244942 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表