繁体   English   中英

构建 Qt 静态,找不到 MinGW

[英]Building Qt static, can't find MinGW

我正在尝试构建一个静态版本的 Qt,所以我可以为我的项目创建一个 .exe 文件。

我找到了这个教程,并且正在使用教程作者制作的脚本。 当我尝试运行脚本时,我的 PowerShell 给了我这个>

Building static Qt version 5.3.1
ERROR: MinGW environment not found, no Qt prebuilt version?
Press Enter to continue...:

这是不可能的。 我知道这一点是因为我已经用 Qt5 制作了项目并用我的 MinGW 编译器构建了它们。

一些附加信息:MinGW 位于:

C:/Qt/Tools/mingw491_32 (/bin/gcc.exe)

当我打开脚本时,有这一行>

#Search all instances of gcc.exe from C:\Qt prebuilt environment. 
$GccList = @(Get-ChildItem -Path C:\Qt\*\Tools\mingw*\bin\gcc.exe | ForEach-Object FullName | Sort-Object)

因此,在我看来,脚本应该可以找到 gcc。

有人对这里发生的事情有任何想法吗?

谢谢。

C:\\Qt\\*\\Tools\\mingw*\\bin\\gcc.exeC:\\Qt\\Tools\\mingw*\\bin\\gcc.exe

不完全是您问题的答案,但可能是您问题的解决方案。

无需将 Qt 设为静态来创建源代码的可执行文件。 静态选项更适合没有操作系统的嵌入式系统,或者下面有一个非常瘦的操作系统。 我无法想象,这在 Windows 上是有意义的。

构建发布版本,将您的 exe 以及 Qt 和 mingw 的所有必需 dll 复制到一个目录,然后将该目录复制到任何 Windows pc。 它应该工作。

要检查需要哪些 dll,请使用depends-tool

为了以更专业的方式提供您的 exe,请创建一个安装程序。 我推荐Inno Setup ,它非常易于使用。

如果您想使用windeployqt 复制dll,它比使用dependency walker 非常简单。 这会将您的所有 dll 复制到给定的文件夹...

Copy <MyApp.exe> to a folder say <MyAppPackage>

cd to <MyAppPackage>

C:\Qt\Qt5.7.0\5.7\mingw53_32\bin\windeployqt.exe MyApp.exe

所有 dll 都将复制到<MyAppPackage>文件夹。

它帮助了我:

在我的(Windows 10)上,读取“C:\\Qt*\\Tools\\mingw*\\bin\\gcc.exe”的路径需要更改为“C:\\Qt\\Tools\\mingw*\\bin\\gcc.exe”系统。

https://wiki.qt.io/Building_a_static_Qt_for_Windows_using_MinGW

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM