Autore: Fabio Di Matteo
Ultima revisione: 8/05/2014
In questo articolo realizzeremo un “hello world” in qt e C++ e poi lo compileremo sia per Linux che per Windows. Il tutto,ovviamente, sulla nostra Linuxbox.Per quanto riguarda il codice dell'esempio (banale) ci rifacciamo al tutorial ufficiale qt in italiano.
main.cpp
#include <QApplication> #include <QtGui> int main(int argv, char **args) { QApplication app(argv, args); //Gli oggetti della mia GUI QTextEdit textEdit; textEdit.setText("Ciao mondo!"); QPushButton quitButton("Quit"); //Il layout che conterra' gli oggetti QVBoxLayout layout; layout.addWidget(&textEdit); layout.addWidget(&quitButton); //La finestra che conterra' il layout QWidget window; window.setLayout(&layout); window.show(); //Callback per l'uscita dall'applicazione dopo il click sul pulsante QObject::connect(&quitButton, SIGNAL(clicked()), qApp, SLOT(quit())); return app.exec(); }
Cominciamo con il dire che il contenuto della cartella deve comprendere solamente i file sorgenti in cpp e nessun altro residuo di altre compilazioni precedenti, magari per altre piattaforme.Quindi nel nostro caso la cartella conterra solamente il file main.cpp
.
Per la compilazione su linux basta installare i pacchetti di sviluppo delle Qt qualora non sia disponibile il pacchetto all in one per la nostra distribuzione. Ecco i passi necessari per la compilazione con Qt4.8:
qmake-qt4 -project qmake-qt4 make
Dove:
Crosscompileremo staticamente il nostro progetto grazie all'ambiente di crosscompilazione MXE . MXE (M cross environment) is a Makefile that compiles a cross compiler and cross compiles many free libraries such as SDL and Qt. Thus, it provides a nice cross compiling environment for various target platforms.
Assicuriamoci che il contenuto della cartella comprenda solamente i file sorgenti in cpp e nessun altro residuo di altre compilazioni precedenti, magari per altre piattaforme.Quindi nel nostro caso la cartella conterra solamente il file main.cpp
. Fatto cio' installiamo MXE come mostrato in questa guida.
Adesso siamo pronti per preparare il nostro sistema mxe per scaricare e compilare Qt
Dalla root di mxe lanciamo
make qt
Mxe scarichera' e compilera' Qt e tutte le sue dipendenze. Il processo è molto lungo e su macchine lente puo' durare molto. (su un Pentium 4 con 2GB di ram è durato quasi 12 ore).
Fatto cio' possiamo mettere in $PATH l'installazione di MXE in modo da richiamare gli eseguibili piu' comodamente. Quindi aggiungiamo al nostro .bashrc
la seguente riga:
export PATH=/Percorso dove è installato MXE/usr/bin:$PATH
A questo punto siam gia' pronti per crosscompilare i nostri progetti. Portiamoci nella cartella che contiene il nostro file main.cpp e diamo i seguenti comandi:
i686-pc-mingw32-qmake -project i686-pc-mingw32-qmake make
Dove:
Il nostro wiki installa solamente cookie tecnici necessari al funzionamento della piattaforma "Dokuwiki". Niente analitics, statistiche, tracciamenti o altro.