我正在尝试使用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本身并不是一个好主意。我不确定如何克服这个错误。
答案 0 :(得分:0)
是的,这是关于动态链接和静态链接的问题。
几个月前我遇到了这种混乱,当我构建并运行我的小代码片段时,计算机警告我“stdc ++ - 6.dll”丢失了,所以我试着谷歌并下载.dll文件(应该位于c:\ windows \ system32),但它不起作用,因为当我接下来运行我的程序时,它会警告“libgcc_s_sjlj-1.dll缺失”。我没有下载该文件,但是我做了一些像您这样的“额外设置”,我将-static-libgcc
和-static-libstdc++
作为链接器标记包含在内,但它也没有用,然后我加入-static
。
然后我的代码工作得很好。我希望它可以帮到你。
P.S.I写了an article in Chinese来讨论这个问题。