[STM32F7] while (1) 处出现未定义引用 错误

[复制链接]
98|36
在海边聆听 发表于 2026-6-2 22:02 | 显示全部楼层
SX1276_Init 里访问了未定义的 FifoTxBaseAddr 和 carrierFr。
probedog 发表于 2026-6-2 22:26 | 显示全部楼层
把 extern SX12xxRegisters SX1276; 改成 SX12xxRegisters SX1276;去掉 extern即可在本文件定义。
zerorobert 发表于 2026-6-3 22:33 | 显示全部楼层
如何确认SX1276结构体是否正确初始化?
jonas222 发表于 2026-6-3 22:40 | 显示全部楼层

如何确认文件已加入工程?              
tabmone 发表于 2026-6-4 08:09 | 显示全部楼层

是否检查过符号大小写?              
sdCAD 发表于 2026-6-4 17:56 | 显示全部楼层
99% 是 SX1276 定义在某个 .c 文件里,但这个 .c 没被编译进工程,或者是 C/C++ 混编没加 extern "C"。
nomomy 发表于 2026-6-4 20:56 | 显示全部楼层
若 SX1276 的定义被 #ifdef、#ifndef 等条件编译包裹,且相关宏未定义,会导致定义代码被编译器忽略,最终链接时找不到符号。
qiufengsd 发表于 2026-6-4 22:12 | 显示全部楼层
SX1276 定义在 .c 文件里,但没被编译
earlmax 发表于 2026-6-5 10:27 | 显示全部楼层
第三方SX1276库如何正确添加到项目?
sesefadou 发表于 2026-6-5 11:56 | 显示全部楼层
检查头文件中的声明和源文件中的定义,确保函数名、参数类型、参数数量、返回值类型完全一致,避免拼写错误。
belindagraham 发表于 2026-6-5 14:36 | 显示全部楼层

头文件中extern声明SX1276后仍报错怎么办?
bestwell 发表于 2026-6-5 16:10 | 显示全部楼层
在所有 .o文件里都没找到 SX1276
mmbs 发表于 2026-6-5 17:26 | 显示全部楼层
为什么报错?              
maudlu 发表于 2026-6-5 18:47 | 显示全部楼层
包含 SX1276 定义的源文件已被添加到项目中。
burgessmaggie 发表于 2026-6-5 20:04 | 显示全部楼层
若存在条件编译,需在工程的预定义宏中添加对应的宏,确保条件编译生效。
gygp 发表于 2026-6-6 10:18 | 显示全部楼层
实际上并不是 while(1) 本身的错,而是在 while(1) 循环内部,有一行代码使用了 SX1276,链接器在那行代码处发现找不到 SX1276 的实体。
primojones 发表于 2026-6-6 12:08 | 显示全部楼层
包含定义的 .c 文件没有被编译/链接进工程
timfordlare 发表于 2026-6-6 12:37 | 显示全部楼层
在 sx1276.c 所在目录下全局搜索 SX1276 和 SX1276_Init
wengh2016 发表于 2026-6-6 15:30 | 显示全部楼层
undefined reference 不是编译器报的错,而是链接器报的错!
kmzuaz 发表于 2026-6-6 15:50 | 显示全部楼层
链接器设置中如何指定库文件路径?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部
0