Para QT4
As etapas a seguir são tiradas de uma resposta em uma postagem em
Use o M cross environment (MXE) . Isso tira a dor de todo o processo:
-
Veja:
git clone https://github.com/mxe/mxe.git
-
Construa o Qt para Windows, suas dependências e as ferramentas de construção cruzada; isso levará cerca de uma hora em uma máquina rápida com acesso decente à Internet; o download é de cerca de 500MB:
cd mxe && make qt
-
Vá para o diretório do seu aplicativo e adicione as ferramentas de construção cruzada à variável de ambiente PATH:
export PATH=<mxe root>/usr/bin:$PATH
Execute a ferramenta geradora do Qt Makefile e crie:
<mxe root>/usr/i686-pc-mingw32/qt/bin/qmake && make
-
Você deve encontrar o binário no diretório ./release:
wine release/foo.exe
Algumas notas:
Use a ramificação principal do repositório MXE; parece ter muito mais amor da equipe de desenvolvimento.
A saída é um binário estático de 32 bits, que funcionará bem no Windows de 64 bits.
Para o QT5
As etapas a seguir foram tiradas de uma resposta em uma postagem em estouro de pilha , para construir com qt5 se funcionar, certifique-se de dar a eles um upvote.
Aqui estão as instruções completas:
-
Veja:
git clone https://github.com/mxe/mxe.git
-
Compile o Qt 5 para Windows:
cd mxe && make qtbase
Isso primeiro construirá suas dependências e as ferramentas de construção cruzada; Deve demorar menos de uma hora em uma máquina rápida com acesso decente à Internet.
Devido à nova natureza modular do Qt 5, vários componentes principais do Qt estão agora em tarballs diferentes. Aquele selecionado acima, qtbase, deve dar a você funcionalidade suficiente para executar aplicativos GUI comuns, o que é tudo que eu preciso para o meu próprio aplicativo (pequeno).
Se você quiser construir todo o Qt 5, você precisará rodar make qt5 (ao invés de make qtbase). Note que levará muito mais tempo para ser concluído, portanto, certifique-se de que você precisa da funcionalidade extra.
-
Entre no diretório do seu aplicativo e execute a ferramenta geradora do Qt Makefile:
<mxe root>/usr/bin/i686-w64-mingw32.static-qmake-qt5
-
Crie seu projeto:
make
-
Você deve encontrar o binário no diretório ./release:
wine release/foo.exe
Algumas notas:
Isso foi testado no Debian 8 de 64 bits, e no Windows, claro.
A saída é um executável estático de 32 bits, que funcionará bem no Windows de 64 bits.
Se você deseja um executável de 64 bits, construa o Qt com:
make MXE_TARGETS=x86_64-w64-mingw32.static qtbase
O valor padrão de MXE_TARGETS é i686-w64-mingw32.static.