在带编译器GCC的CodeBlocks中,缺少libgcc_s_sjlj_1.dll

时间:2016-02-11 06:40:25

标签: c++ gcc dll codeblocks sfml

我正在尝试使用Code :: Blocks 16.01运行我的第一个SFML程序。它编译,但随后警告我libgcc_s_sjlj-1.dll丢失。我的编译器是GCC 4.8.1-4。其他类似的问题,例如:"libgcc_s_sjlj-1.dll" is missing,已经说过要使用链接器标志,因此我将-static-libgcc-static-libstdc++作为链接器标志包含在内,但这并不起作用。

MinGW bin包含在我的路径中。我已将.dll复制到我的可执行文件的目录中。我查看了实际的bin,而.dll实际上并不存在,所以我重新安装了MinGW几次。

我还没有做的一件事就是下载我读过的.dll本身并不是一个好主意。我不确定如何克服这个错误。

1 个答案:

答案 0 :(得分:0)

是的,这是关于动态链接和静态链接的问题。

几个月前我遇到了这种混乱,当我构建并运行我的小代码片段时,计算机警告我“stdc ++ - 6.dll”丢失了,所以我试着谷歌并下载.dll文件(应该位于c:\ windows \ system32),但它不起作用,因为当我接下来运行我的程序时,它会警告“libgcc_s_sjlj-1.dll缺失”。

我没有下载该文件,但是我做了一些像您这样的“额外设置”,我将-static-libgcc-static-libstdc++作为链接器标记包含在内,但它也没有用,然后我加入-static enter image description here

然后我的代码工作得很好。我希望它可以帮到你。

P.S.I写了an article in Chinese来讨论这个问题。