打印
[其他ST产品]

undefined reference to 'regcomp' 的错误

[复制链接]
223|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
我的牙白|  楼主 | 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 正则表达式,改用轻量级的字符串匹配方案。

使用特权

评论回复
5
powerantone| | 2025-7-23 17:22 | 只看该作者
试试链接 Newlib 的完整 POSIX 支持或者手动实现 regcomp/regexec。

使用特权

评论回复
6
stormwind123| | 2025-7-23 18:22 | 只看该作者
用 C++ 的 <regex>,如果工具链支持。

使用特权

评论回复
7
kzlzqi| | 2025-7-27 13:58 | 只看该作者
嵌入式 GCC 工具链默认不包含regex库

使用特权

评论回复
8
小夏天的大西瓜| | 2025-7-27 21:43 | 只看该作者
尽量少用这些非正规的内核

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

33

主题

33

帖子

0

粉丝