gpt4 book ai didi

C++ FatFs 未定义的函数引用

转载 作者:太空宇宙 更新时间:2023-11-04 01:27:21 28 4
gpt4 key购买 nike

我有一个用 Atmel Studio 编写的代码,用于从 SD 卡读取/写入数据。我在这里使用 FatFs。我的问题是,当我在 FatFs 中使用某些函数(f_chdir、f_getcwd...)时,代码无法编译。某些函数工作正常(f_puts、f_open、f_mount、f_mkdir...)。所有这些函数都位于同一个头文件中(ff.h、ff.c)

错误显示“对 -function- 的 undefined reference ,ld 返回了 1 个退出状态”。当我转到错误时,它显示代码的结尾,而它应该显示错误的位置。

我无法理解我的代码的问题。感谢您的帮助。

最佳答案

刚刚在使用 SAM4S Xplained Pro(Atmel 7、ASF 3.20)的项目中使用 SD 卡时遇到了这个问题。

确保您拥有所有 asf 项目(fatfs、sd_mmc、内存访问控制,然后是其他基础知识,例如 pmc、gpio,也许还有更多)。由于某种原因,我的 asf 没有包含 sd_mmc_mem.c 和 sd_mmc_mem.h,所以我不得不自己包含它们。还要记住在主循环的顶部执行 sd_mmc_init() 。至于配置...

如果您仔细查看 ffconf.h,它所做的第一件事就是包含 conf_fatfs.h,它(等等!)与 ffconf.h 逐行完全相同。所有变量都首先定义在那里(并由#ifndef FFCONF 而不是 CONF_FATFS 保护)也就是它重要的地方..

进入 conf_fatfs.h 并将 _USE_STRFUNC 更改为 1 或 2 等等。

另请注意,在您使用它的地方,您必须#include ff.h,前面是 ffconf.h 或 conf_access.h

如果您不知道自己在寻找什么,那么 ASF 就是一个真正的蛇坑。

享受吧。

关于C++ FatFs 未定义的函数引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28670756/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com