2013-01-05 21 views

risposta

71

Qui ci sono le istruzioni complete:

  • Get it:

    git clone https://github.com/mxe/mxe.git 
    
  • Installare build dependencies

  • generare Qt 5 per Windows:

    cd mxe && make qtbase 
    

    Questo prima costruirà le sue dipendenze e gli strumenti di cross-build; Dovrebbe impiegare meno di un'ora su una macchina veloce con un discreto accesso a internet.

    A causa della nuova natura modulare di Qt 5, vari componenti Qt principali sono ora in diversi tarball. Quella selezionata sopra, qtbase, dovrebbe darti abbastanza funzionalità per eseguire le normali app della GUI, che è tutto ciò di cui avevo bisogno per la mia app (piccola).

    Se si desidera compilare tutto Qt 5, è necessario eseguire make qt5 (anziché make qtbase). Nota che ci vorrà molto più tempo per completare, quindi assicurati di aver bisogno delle funzionalità extra.

  • Prendi nella directory della vostra applicazione, ed eseguire lo strumento generatore di Qt Makefile:

    <mxe root>/usr/bin/i686-w64-mingw32.static-qmake-qt5 
    
  • Generare il progetto:

    make 
    
  • Si dovrebbe trovare il binario in ./ uscita directory:

    wine release/foo.exe 
    

Alcune note:

  • Questo è stato testato sul mio 64-bit Debian 8, e Windows, ovviamente.

  • L'output è un eseguibile statico a 32 bit, che funzionerà bene su Windows a 64 bit.

  • Se si desidera un file eseguibile a 64 bit, costruire Qt con:

    make MXE_TARGETS=x86_64-w64-mingw32.static qtbase 
    

    Il valore di default è MXE_TARGETSi686-w64-mingw32.static.

+0

Come è possibile modificare le directory in cui mxe qmake sputa la roba? Ho il mio tipico qmake che produce file e cartelle in ./build ma il mxe qmake lecca la mia directory root del progetto –

+1

Hai già trovato una risposta? In caso contrario, non lo so, e forse lo chiedo come una domanda separata. – Tshepang

+0

Utilizzare decisamente msys2 anziché MXE. Con msys2 è possibile installare binari precompilati mingw32 e mingw64 di qt con un singolo comando 'pacman -S mingw32/mingw-w64-i686-qt-creator' o' pacman -S mingw64/mingw-w64-x86_64-qt-creator' –

5

Il comando git checkout non è corretto. Ora devi ottenere il loro ramo stabile o fallirà la costruzione.

git clone https://github.com/mxe/mxe.git 

dovrebbe essere ...

Questo da solo ha risolto tutti i miei problemi con qtbase building ma non lasciando nessuna cartella qt una volta terminato. Quindi l'obiettivo qt5 fallirebbe con errori oscuri. Cartella eliminata, verificata stabile e funzionava perfettamente.

+1

Immagino fosse solo un problema temporaneo ...' master' funziona ora, e in realtà non ricordo il tempo quando ha fallito, anche se per lo più costruisco 'qtbase', non il più grande' qt5'. – Tshepang

+0

git clone -b stable https://github.com/mxe/mxe.git non funziona per me – j35t3r

+1

@ j35t3r Non penso che esista più un ramo 'stable'. – Marcus