[其他ST产品] undefined reference to 'regcomp' 的错误

[复制链接]
 楼主| 我的牙白 发表于 2025-7-23 14:13 | 显示全部楼层 |阅读模式
在 main.c 中,我用 #include <regex.h> 并调用了 regcomp 和 regexec。但在构建输出中,我收到了 undefined reference to 'regcomp' 的错误。这是链接器阶段的错误吗?我需要更改哪些链接器设置?
MCU GCC 链接器选项如下:
-mcpu=cortex-m3 -T"C:\Users\ssz\STM32CubeIDE\temp\edmr2\STM32F103VETX_FLASH.ld" --specs=nosys.specs -Wl,-Map="${BuildArtifactFileBaseName}.map" -Wl,--gc-sections -Wl,--verbose -static --specs=nano.specs -mfloat-abi=soft -mthumb -Wl,--start-group -lc -lm -Wl,--end-group
工具链是 GNU Tools for STM32 (9-2020-q2-update)。
regex.h 位于:
C:\ST\STM32CubeIDE_1.5.1\STM32CubeIDE\plugins\com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.9-2020-q2-update.win32_2.0.0.202105311346\tools\arm-none-eabi\include

麻花油条 发表于 2025-7-23 15:19 | 显示全部楼层
嵌入式工具链默认不提供 POSIX 正则表达式实现。
麻花油条 发表于 2025-7-23 15:19 | 显示全部楼层
避免在 MCU 上使用 regex.h,改用轻量级替代方案。
flycamelaaa 发表于 2025-7-23 16:21 | 显示全部楼层
不要在 MCU 上使用 POSIX 正则表达式,改用轻量级的字符串匹配方案。
powerantone 发表于 2025-7-23 17:22 | 显示全部楼层
试试链接 Newlib 的完整 POSIX 支持或者手动实现 regcomp/regexec。
stormwind123 发表于 2025-7-23 18:22 | 显示全部楼层
用 C++ 的 <regex>,如果工具链支持。
kzlzqi 发表于 2025-7-27 13:58 | 显示全部楼层
嵌入式 GCC 工具链默认不包含regex库
小夏天的大西瓜 发表于 2025-7-27 21:43 | 显示全部楼层
尽量少用这些非正规的内核
您需要登录后才可以回帖 登录 | 注册

本版积分规则

40

主题

40

帖子

0

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

40

主题

40

帖子

0

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