gpt4 book ai didi

c++ - QT程序无法启动,因为缺少libgcc_s_dw2-1.dll

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:16:25 29 4
gpt4 key购买 nike

我知道以前有人问过这个问题,但我似乎找不到答案。

我只有一个小的 hello world 控制台程序,基本上是我用 c++ 和 qt creator 编写的。当我尝试运行可执行文件时,出现“程序无法启动,因为您的计算机缺少 libgcc_s_dw2-1.dll。请尝试重新安装以解决此问题。”

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

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

它仍然发生。其他人建议将 dll 所在的目录添加到我的路径中,但我实际上想将此程序提供给其他人,而他们不需要 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。 :)

关于c++ - QT程序无法启动,因为缺少libgcc_s_dw2-1.dll,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33137441/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com