硬汉嵌入式论坛

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

[STM32H7] FatFs文件系统编译报错

[复制链接]

51

主题

103

回帖

256

积分

高级会员

积分
256
发表于 2025-10-14 11:58:14 | 显示全部楼层 |阅读模式
大家有没有遇到过这样一个诡异的问题,
大家好!

就是我用STM32CubeMX v6.14生成的SD+FatFs代码,导入到keil后,如下图,
无标题.jpg

在Keil中新建了一个sd.h/sd.c文件,然后我在sd.h包含ff.h, 然后创建一个FatFs变量,比如FATFS  sd_fs; 发现编译后总是报错: error: unknown type name 'FATFS'。

可是我看包含关系和顺序也没错误,本身也没什么顺序,就一个文件而已,而且keil中创建FATFS  sd_fs;时该变量也没有波浪线和打叉,说明被识别到了,但是一编译就识别不到!

后来我研究上面截图中的文件,在打红框的文件中,我直接在CubeMX生成的文件fatfs.h中创建FATFS  sd_fs,然后编译,这下没问题了,不报错了,可是除了这个文件和main文件,其他我自己创建的文件都不能使用这个文件,就算extern FATFS  sd_fs引用都不行。

我就有点奇怪了,啥原因啊?遇到过最离奇的问题,有谁遇到过?望指点,折腾好几天了没解决

回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
119430
QQ
发表于 2025-10-14 13:59:04 | 显示全部楼层
方便的话,分享个简单工程到百度云,我试试
回复

使用道具 举报

51

主题

103

回帖

256

积分

高级会员

积分
256
 楼主| 发表于 2025-10-15 09:45:53 | 显示全部楼层
eric2013 发表于 2025-10-14 13:59
方便的话,分享个简单工程到百度云,我试试

谢谢,我重新用CubeMX生成了一个新的工程,然后把我原来自己的代码都去掉,发现Fatfs.h是可以包含的,说明不是cubemx的问题,应该是我自己的头文件包含顺序有问题!我自己再检查检查
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-22 04:11 , Processed in 0.043274 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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