[STM32F1] 已添加头文件,同一个函数不同错误提示

[复制链接]
55|20
stormwind123 发表于 2026-2-17 15:34 | 显示全部楼层
如果头文件包含函数定义且被多个源文件包含,编译器会为每个源文件生成独立的函数副本,导致链接器因符号重定义报错。
七毛钱 发表于 2026-2-17 17:34 | 显示全部楼层
是不是存在多个版本的LVGL库,导致符号冲突。
今天会画卧蚕吗 发表于 2026-2-17 18:35 | 显示全部楼层
如果disp_def是全局变量,在头文件中使用static修饰,避免多文件包含导致的符号冲突
onlycook 发表于 2026-2-17 19:31 | 显示全部楼层
可能编译顺序或链接器设置问题,导致某些源文件未被正确链接。
probedog 发表于 2026-2-17 21:32 | 显示全部楼层
可能是头文件包含路径或宏定义的问题,导致某些代码被条件编译排除。
spicy 发表于 2026-2-17 22:33 | 显示全部楼层
内联函数必须在头文件中同时声明和定义,否则编译器在编译其他包含该头文件的源文件时无法看到函数定义,导致链接阶段找不到符号
linqing171 发表于 2026-2-22 08:39 | 显示全部楼层
第一个函数没有调用, 链接器给删掉了,不然第一个也会报错的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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