[STM32F4] 使用 CMSIS DSP 与外部静态库时出现未定义引用错误

[复制链接]
26|8
地瓜patch 发表于 2026-2-19 18:39 | 显示全部楼层 |阅读模式

我在链接外部静态库 libxensiv-radar-presence.a 时,触发了undefined reference to arm_fir_init_f32错误。

我已将 CMSIS DSP 静态库和该外部静态库都添加到了项目配置中。其他调用 CMSIS DSP 的库都能正常访问 CMSIS 库中的这些函数,唯独这个外部库不行。

另外补充一个问题:有没有办法查看 xensiv_radar_presence.c 源文件?我在项目目录里找不到这个文件

下方附上了项目配置、编译控制台输出和项目结构的截图,供参考。还有我用的是 STM32F407G-DISC1。



c:\st\stm32cubeide_1.12.1\stm32cubeide\plugins\com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.10.3-2026.01.win32_1.0.200.202601161003\tools\arm-none-eabi\bin\ld.exe: C:\Users\mchen\Documents\radar-development\bgt60tr13-driver\2023-09-15-algo\bgt60tr13c-stm32-driver\BGT60TR13C-Driver\Core\xensiv-radar-presence-master\COMPONENT_HARDFP\GCC_ARM\libxensiv-radar-presence.a(xensiv_radar_presence.o): in function `xensiv_radar_presence_process_frame':

/Users/gitlab-runner/builds/pss/sensys/csk/xensiv-radar-presence/build/static_build/../../xensiv_radar_presence.c:563: undefined reference to `arm_fir_init_f32'

cr315 发表于 2026-2-23 17:23 | 显示全部楼层
库的链接顺序不正确。在链接过程中,库的顺序很重要,通常需要先链接依赖库,再链接主库。如果外部库依赖CMSIS DSP,那么CMSIS DSP库应该放在外部库之后链接。
probedog 发表于 2026-2-23 17:58 | 显示全部楼层
升级STM32CubeIDE和ARM GCC工具链到最新版本
classroom 发表于 2026-2-23 18:24 | 显示全部楼层
库的路径是否正确,是否被正确包含。
duo点 发表于 2026-2-23 19:24 | 显示全部楼层
符号冲突或版本不匹配?可能存在多个版本的CMSIS DSP库,或者外部库编译时使用的DSP库版本与当前项目中的不一致。
flycamelaaa 发表于 2026-2-23 19:25 | 显示全部楼层
库依赖顺序可能有问题
jcky001 发表于 2026-2-23 20:26 | 显示全部楼层
编译选项不匹配?
onlycook 发表于 2026-2-23 21:26 | 显示全部楼层
重新编译外部库
powerantone 发表于 2026-2-23 22:27 | 显示全部楼层
若外部库非必需,直接调用CMSIS DSP的arm_fir_init_f32,避免中间库依赖。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:出一块TI-PLABS-AMP-EVM

2358

主题

16354

帖子

31

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