加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – QT由于缺少libgcc_s_dw2-1.dll,程序无法启动

发布时间:2020-12-16 07:14:00 所属栏目:百科 来源:网络整理
导读:我知道以前曾经问过,但我似乎无法找到答案. 我只是有一个小问候世界控制台程序,基本上我用qt创建者在c中写道.当我尝试运行可执行文件时,我得到“程序无法启动,因为您的计算机缺少libgcc_s_dw2-1.dll.请尝试重新安装以解决此问题.” 我不明白为什么这个dll对
我知道以前曾经问过,但我似乎无法找到答案.

我只是有一个小问候世界控制台程序,基本上我用qt创建者在c中写道.当我尝试运行可执行文件时,我得到“程序无法启动,因为您的计算机缺少libgcc_s_dw2-1.dll.请尝试重新安装以解决此问题.”

我不明白为什么这个dll对于像这样的小程序来说甚至是必需的.我尝试在其他地方建议添加这些标志:

QMAKE_CXXFLAGS = -static -static-libgcc -static-libstdc

它仍然会发生.其他人建议将dll所在的目录添加到我的路径中,但是我想将这个程序实际交给其他人而不需要它们.

解决方法

我知道这是一个老问题,你可能找到了一个适合你的解决方案,但是在用Qt 5.9.1 / MinGW32-5.3.0-构建一个静态链接(独立)应用程序一天后,我偶然发现了这个问题. 32位.

在构建Qt的静态版本之后,最终这些动态链接的库被MinGW / GCC拉进来仍然阻碍了我:

libgcc_s_dw2-1.dll
libwinpthread-1.dll
libstdc++-6.dll
libwinpthread-1.dll

在尝试了无数组合之后:

QMAKE_CXXFLAGS += [-static-libgcc | -static-libstdc++ | -static -lstdc++ -lpthread]

和类似于这个的线程中找到的其他编译器参数,最终对我有用的是:

QMAKE_LFLAGS += -static

也就是说,QMAKE_LFLAGS而不是QMAKE_CXXFLAGS,现在我的程序只依赖于一堆Windows DLL.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读