Krzyżowa kompilacja projektu w QT
0. Przyjęte Założenia:
/usr/share/qt4 – ścieżka QT
/usr/bin/i686-w64-mingw32-gcc – ścieżka kompilatora mingw-gcc
/usr/bin/i686-w64-mingw32-g++ – ścieżka kompilatora mingw-g++
/usr/i686-w64-mingw32/include – katalog include kompilatora mingw-gcc
/usr/share/qt4/win – katalog, do którego przenosisz pliki Windowsowego QT
/usr/bin/qmake – ścieżka QMake
1. Instalujemy MINGW
# apt-get install g++-mingw-w64 g++-mingw-w64-i686 g++-mingw-w64-x86-64 gcc-mingw-w64 gcc-mingw-w64-base gcc-mingw-w64-i686 gcc-mingw-w64-x86-64 gcc-mingw32
2. Kopiujemy pliki z Windowsowego QT
Foldery lib, include, src z Windowsowego QT należy przekopiować np. do katalogu /usr/share/qt4/win/
3. Dokonujemy edycji pliku konfiguracyjnego wykorzystywanego przez QMake
# cd /usr/share/qt4/win/mkspecs
# cp -r win32-g++ win32g++
# nano qmake.conf
Zmieniamy wartości poniższych zmiennych na nowe:
QMAKE_CC = /usr/bin/i686-w64-mingw32-gcc
QMAKE_CXX = /usr/bin/i686-w64-mingw32-g++
QMAKE_LINK = /usr/bin/i686-w64-mingw32-g++
QMAKE_LINK_C = /usr/bin/i686-w64-mingw32-gcc
QMAKE_INCDIR= /usr/i686-w64-mingw32/include
QMAKE_INCDIR_QT = /usr/share/qt4/win/include
QMAKE_LIBDIR_QT = /usr/share/qt4/win/lib
QMAKE_LFLAGS += -static-libgcc
QMAKE_LFLAGS += -static-libstdc++
QMAKE_MOC= moc
QMAKE_UIC = uic
QMAKE_IDC = idc
4. Kompilujemy nasz projekt
Przechodzimy do katalogu z plikami naszego projektu i wydajemy komendę:
# qmake -spec win32g++
# make