你只需使用M交叉环境(MXE)。它消除了整个过程中的痛苦:
- 得到它:
$ git clone https://github.com/mxe/mxe.git
- 安装构建依赖关系
- 为Windows构建Qt及其依赖关系和跨构建工具; 这将需要大约一个小时的快速机器与体面的互联网接入; 下载大约500MB:
$ cd mxe && make qt
- 转到您的应用程序目录并将交叉构建工具添加到PATH环境变量中:
$ export PATH=<mxe root>/usr/bin:$PATH
- 运行Qt Makefile生成器工具,然后构建:
$ <mxe root>/usr/i686-pc-mingw32/qt/bin/qmake && make
- 您应该在./release目录中找到二进制文件:
$ wine release/foo.exe
------------
% qtdeploy build windows inwhtl
ERRO[0006] failed to run command _func=RunCmd cmd="/usr/lib/mxe/usr/i686-w64-mingw32.shared/qt5/bin/qmake -query QT_INSTALL_PREFIX" dir= env= error="fork/exec /usr/lib/mxe/usr/i686-w64-mingw32.shared/qt5/bin/qmake: no such file or directory" name="query install prefix path for windows on darwin"
交叉编译环境MXE