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

使用MinGW编译SFML程序后运行缺失libgcc_s_sjlj-1.dll求助

解决运行SFML程序时缺失libgcc_s_sjlj-1.dll的问题

你已经完成了编译步骤,但运行时遇到的DLL缺失问题其实是静态链接选项没完全生效或者MinGW的小配置问题,我给你几个实用的解决办法:

1. 调整编译命令,确保完整静态链接

你已经加了-static-libgcc,但还需要补充-static-libstdc++,同时要注意GCC的链接顺序(依赖库要放在源文件之后)。试试这个编译命令:

g++ main.cpp -o sachy.exe -static-libgcc -static-libstdc++ -lsfml-graphics -lsfml-window -lsfml-system

这个命令会强制GCC把libgcc和libstdc++都静态编译进你的可执行文件里,彻底摆脱对外部DLL的依赖。

2. 手动复制缺失的DLL到程序目录

如果静态链接还是不生效,直接去你的MinGW安装目录(通常是MinGW\bin文件夹)找到libgcc_s_sjlj-1.dll,把它复制到生成的a.exe(或者你用-o指定的程序)同一个文件夹下。这样运行时程序就能直接找到这个依赖文件了。

3. 检查MinGW的安装组件

有时候MinGW默认没安装静态版本的libgcc组件,你可以打开MinGW的安装管理器(mingw-get),确认mingw32-gcc-core以及相关静态库组件已经被选中安装。如果没装,勾选后更新安装即可。

另外给个小提示:编译时用-o选项指定输出文件名(比如上面的-o sachy.exe),这样生成的程序名更直观,不用每次都用默认的a.exe。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 06:26:19