构建Qt静态,找不到MinGW

时间:2015-04-08 10:36:50

标签: c++ windows qt powershell mingw

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

我找到了this教程,并使用了教程作者制作的脚本。当我尝试运行脚本时,我的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。

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

感谢。

3 个答案:

答案 0 :(得分:2)

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

没有必要使Qt静态用于创建源的可执行文件。静态选项更适用于没有操作系统的嵌入式系统,或者下面的非常薄的操作系统。我无法想象,它在窗户上会有意义。

构建一个发布版本,将你的exe和所有必需的Qt和mingw复制到一个目录并将此目录复制到任何windows pc。它应该工作。

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

要以更专业的方式提供您的exe,请创建一个安装程序。我推荐Inno Setup,这很容易使用。

答案 1 :(得分:0)

如果你想复制dll使用windeployqt,它比使用依赖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>文件夹。

答案 2 :(得分:0)

它帮助了我

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

https://wiki.qt.io/Building_a_static_Qt_for_Windows_using_MinGW