【问题标题】:Qt deployment for windows copies incorrect dll for mingwWindows 的 Qt 部署为 mingw 复制了不正确的 dll
【发布时间】:2017-04-13 16:42:06
【问题描述】:

我设置此构建步骤以将部署 DLL 添加到我的发布文件夹:

Command: %{Qt:QT_INSTALL_BINS}/windeployqt.exe
Arguments: "%{CurrentProject:NativePath}\bin\server.exe" --no-translations

复制了正确的 QtXXXX.dll 文件,但添加了不正确的libstdc++-6.dll。正确的文件位于QTDIR/bin/libstdc++-6.dll,但windeployqt.exe 会从C:\MinGW\bin 复制此DLL 文件。如果我尝试运行应用程序,我会收到以下错误:

我如何告诉windeployqt.exe%{Qt:QT_INSTALL_BINS} 复制mingw 文件而不是我的MinGW 安装文件夹?

我使用的Qt版本是Qt5.6.0-MinGWmingw49_32

【问题讨论】:

  • 您是否尝试在命令控制台中编写:windeployqt.exe --help 以获得可以使用的其他选项?
  • 是的,这就是我发现如何禁用翻译的方法。它没有说明覆盖 MinGW 目录。

标签: qt dll mingw qt-creator


【解决方案1】:

如果你不使用设置环境和 Qt 附带的批处理文件,那么只需确保找到的第一个编译器 g++.exewindeployqt.exe 是 Qt 附带的,不是 与 MinGW 一起安装的那个。这样,正确的库将被复制。

作为我自己当前安装的示例:
Qt 安装到C:\Qt\Qt5.8.0,MinGW 安装到C:\MinGW。因此,我将 C:\Qt\Qt5.8.0\Tools\mingw530_32\bin before C:\MinGW\bin 添加到我的 PATH 中。这两个路径都包含一个编译器g++.exe

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-10
    • 1970-01-01
    相关资源
    最近更新 更多