You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

STM32 SW4STM32项目中无法启用G++ -fexceptions异常处理求助

解决SW4STM32(Eclipse CDT)中STM32 C++项目无法启用异常处理的问题

我之前在SW4STM32里折腾过一模一样的问题,给你几个实用的解决步骤,应该能搞定这个error: exception handling disabled, use -fexceptions to enable错误:

  • 确保选中C++编译器的配置项
    右键你的项目 → Properties → C/C++ Build → Settings → Tool Settings,这里一定要选择GCC C++ Compiler(别误选成GCC C Compiler,C编译器的设置不会影响C++代码的编译规则)。

  • 添加-fexceptions编译标志
    在GCC C++ Compiler的子选项里找到Miscellaneous(杂项),在Other flags输入框的末尾添加 -fexceptions(注意前面要加空格,和已有参数分隔开)。

  • 检查多配置模式的设置
    留意Settings页面顶部的Configuration下拉框,确保你常用的Debug和Release模式都添加了这个标志——很多人只改了一个模式,切换编译模式后又会触发同样的报错。

  • 验证编译命令是否生效
    保存设置后重新编译,打开Build Console查看完整的编译命令,确认-fexceptions确实出现在G++的参数列表里。如果没出现,可能是配置没保存,或者项目的全局设置覆盖了这个选项,这时候可以尝试清理项目(Project → Clean)后再重新构建。

  • 特殊情况:启动文件的异常支持
    极少数情况下,STM32的启动文件可能关闭了异常相关的配置,但这种情况很少见。如果前面的步骤都没用,可以检查启动文件(比如startup_stm32xxxx.s)里的异常向量表和栈空间配置,确保C++异常需要的处理机制没有被禁用。

内容的提问来源于stack exchange,提问作者JuliusCaesar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 03:53:24