以下是完整的说明:
获取它:
git clone https://github.com/mxe/mxe.git
安装构建依赖项
为Windows构建Qt 5:
cd mxe && make qtbase
这将首先构建其依赖项和交叉编译工具;在拥有良好的网络连接的快速计算机上,此过程应该不到一个小时。
由于 Qt 5 的新模块化特性,各种主要的 Qt 组件现在位于不同的 tarball 中。上面选择的 qtbase
应该为您提供足够运行普通 GUI 应用程序所需的功能,这也是我自己(较小)应用程序所需要的所有功能。
如果您想要构建 Qt 5 的全部内容,则需要运行 make qt5
(而不是 make qtbase
)。请注意,这将需要更长时间才能完成,因此请确保您需要额外的功能。
进入您的应用程序目录,并运行 Qt Makefile 生成工具:
<mxe root>/usr/bin/i686-w64-mingw32.static-qmake-qt5
构建你的项目:
make
你应该在./release目录中找到二进制文件: wine release/foo.exe
注意事项:
该代码已在我使用的64位Debian 8和Windows系统上测试过。
生成的是32位静态可执行文件,可以在64位Windows系统上正常工作。
如果您需要64位可执行文件,请使用以下命令构建Qt:
make MXE_TARGETS=x86_64-w64-mingw32.static qtbase
默认的MXE_TARGETS
值为i686-w64-mingw32.static
。
git checkout 命令不正确。现在你必须获取他们的稳定分支,否则构建将失败。
git clone https://github.com/mxe/mxe.git
应该是...
git clone -b stable https://github.com/mxe/mxe.git
master
现在可以工作了,而且我实际上不记得它失败的时间,尽管我大多数情况下都是构建 qtbase
,而不是更大的 qt5
。 - tshepang对于那些想要直接获取GCC10 64位编译的Qt5(例如用于文件系统库)的人,以下是完整的说明:
获取它:
git clone https://github.com/mxe/mxe.git
安装构建依赖项
使用启用了gcc10 64位插件的版本构建Windows的Qt 5:
cd mxe && make MXE_TARGETS=x86_64-w64-mingw32.shared MXE_PLUGIN_DIRS=plugins/gcc10 qt5
构建2-3小时后,您可以构建您的应用程序(在您的.pro目录中):
<mxe root>/usr/x86_64-w64-mingw32.shared/qt5/bin/qmake
导出编译器的路径并构建您的项目:
export PATH=<mxe root>/usr/bin:$PATH
make
你应该在./release目录下找到二进制文件,并使用wine(或wine64)启动它:
wine foo.exe
我不是很清楚为什么,但我需要将MXE编译器目录添加到Wine路径中,因为它找不到DLL文件:
WINEPATH="<mxe root>/usr/x86_64-w64-mingw32.shared/bin/" wine64 foo.exe
su
mv mxe /opt/mxe
cd /opt/mxe && make
$ export PATH=<mxe root>/usr/bin:$PATH
。 - Amit Tomar