总有人间一两风,填我十万八千梦

Qt Creator Win32-G++静态编译 libgcc_s_dw2-1.dll、libwinpthread-1.dll、libstdc++-6.dll的问题

Windows C/C++ Zero、J 1708℃ 0评论

相信你能看到这个问题说明你已经知道了Qt静态编译的方式,所以关于Qt的静态编译的操作本文不再赘述。静态编译后,Qt生成的可执行程序体积大幅度缩小,但是会报错,如下面的图所示。(解决方案在最后)

由于找不到libgcc_s_dw2-1.dll,无法继续执行代码。重新安装程序可能解决此问题。
由于找不到libwinpthread-1.dll,无法继续执行代码。重新安装程序可能解决此问题。
由于找不到libstdc++-6.dll,无法继续执行代码。重新安装程序可能解决此问题。

解决方案

打开你的Qt项目的pro文件,在文件中设置如下选项:

QMAKE_LFLAGS +=-static -static-libgcc -static-libstdc++

注意事项

由于使用了静态编译,所有依赖项目都会被打包到exe中。如果你在静态编译下构建套件下进行Debug生成,其产生的exe体积将会达到数百兆 !!! (调试信息也静态编译进去了)因此这里建议你,在正常的开发中依然使用动态编译的形式,只有在最后发布的时候,在选中你的静态编译构建套件,进行Release发布。

转载请注明:悠然品鉴 » Qt Creator Win32-G++静态编译 libgcc_s_dw2-1.dll、libwinpthread-1.dll、libstdc++-6.dll的问题

喜欢 (0)or分享 (0)
发表我的评论
取消评论

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址