我正在尝试构建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。
有人对这里发生的事情有任何想法吗?
感谢。
答案 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