首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >缺失libgcc_s_dw2-1.dll

缺失libgcc_s_dw2-1.dll
EN

Stack Overflow用户
提问于 2016-07-05 09:29:40
回答 1查看 5.2K关注 0票数 1

我有一个Windows764bit系统,安装了最新的MinGW (32位)以及QT5.5SDK(同样是32位),它还附带了自己的MinGW。由于我不是唯一一个使用该系统的人,所以我无法删除独立的MinGW。

我的项目使用qmake,是一个普通的C项目(而不是C++)。一切都很好,但是当我试图在命令行中执行我的二进制文件时,我发现由于系统上缺少libgcc_s_dw2-1.dll,应用程序无法启动。

在研究了这个问题之后,我发现独立的MinGW和Qt附带的都有提到的DLL。

  • 独立MinGW - libgcc_s_dw2-1.dll位于二进制文件所在的MinGW安装的bin子目录中(gccg++gdb等)。
  • Qt MinGW - libgcc_s_dw2-1.dll位于C:\Qt\Tools\mingw492_32\i686-w64-mingw32\lib子目录中,而MinGW组件的二进制文件位于C:\Qt\Tools\mingw492_32\i686-w64-mingw32\bin中。

我想知道如何正确地设置我的PATH变量以便:

  • 应用程序正确启动。
  • 与独立的MinGW安装没有冲突。

顺便提一句:我已经查过这里的其他帖子了,但没能找到解决方案(也许我错过了)。我也尝试过LIBS += -static,但结果是一样的。

EN

回答 1

Stack Overflow用户

发布于 2016-07-06 07:34:40

您只需使用可执行文件复制此dll,即:

cp <path-to-qt-install-dir>\qt5.7.0\5.7\mingw53_32\bin\libgcc_s_dw2-1.dll <path-to-dest-dir>

您会发现您还有其他依赖项,以查看您可以使用的其他deps:ldd <your-executable>。您只需要复制qt特定的dll,您就可以通过以下方法看到这些内容:

ldd <executable> | grep -i qt

注意事项

您可以静态地将其链接到:链接器命令(如-static-libgcc-static ),但我认为您开始遇到LGPL问题,并且可能需要从源代码静态编译qt --无法回忆起这个特定文件。

note2

很抱歉,ldd是用于linux的,您刚刚意识到您有windows,在这种情况下,您可以使用其中之一或两者:

  • 依赖步行器:从这里开始
  • <path-to-qt-bin-folder>\windeployqt.exe <path-to-your-executable>

我有混合的结果,但如果你有任何插件,它的安静很好,使该部分排序。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38199826

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档