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

Windows11下C++程序运行遇Segmentation fault(libstdc++-6.dll相关)求助

解决Windows 11下g编译HelloWorld触发Segmentation fault(关联libstdc-6.dll)的问题

常见原因与修复方案

1. 多版本libstdc++-6.dll冲突

Windows里如果装了多个MinGW、Cygwin或者其他依赖该DLL的软件,很可能出现运行时加载了不匹配的DLL版本的情况,直接导致段错误。

  • 处理方式:
    • 找到你当前用的g++所属的MinGW安装目录(比如C:\mingw64\bin),把这个路径移到系统PATH环境变量的最顶端,保证优先加载正确的DLL。
    • 删除系统其他路径(比如C:\Windows\System32、第三方软件目录)里的libstdc++-6.dll,彻底消除冲突。

2. MinGW安装包损坏或不完整

MinGW的标准库文件如果损坏,运行时必然出问题。

  • 处理方式:
    • 卸载现有MinGW,重新下载安装官方最新版的MinGW-w64,选对应你系统架构的版本(x86_64)。
    • 安装时务必勾选libstdc++组件,别漏装。

3. 编译选项不兼容

部分编译参数会导致标准库调用异常。

  • 处理方式:
    • 试试静态编译,彻底避开动态DLL依赖:
      g++ hello.cpp -o hello -static
      
    • 静态编译完成后运行./hello,看是否还会报错。

4. 终端环境混淆(WSL vs 原生MinGW)

如果混用WSL和原生MinGW环境,比如在WSL里加载了Windows路径的DLL,也会触发段错误。

  • 处理方式:
    • 确认终端环境:用WSL就纯在Linux环境编译运行,别碰Windows的DLL;用原生MinGW终端就按前面的步骤检查环境变量。

验证步骤

修复后重新编译运行:

g++ hello.cpp -o hello
./hello

能正常输出Hello, world!就说明问题解决了。

内容的提问来源于stack exchange,提问作者Bruno Ramos Martins

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 09:52:12