From Fedora Project Wiki

Tips and tricks for using the Windows cross-compiler

Compiling QT applications and libraries

When compiling QT-based applications and libraries the compilation may fail with the message that the library QtGui could not be found. To resolve this you can use the following command:

qmake-qt4 -spec win32-g++-cross

(See http://www.mail-archive.com/mingw@lists.fedoraproject.org/msg00442.html for the rationale about this)

For Fedora 13 or older you can use:

qmake-qt4 -spec win32-fedora-cross QT_LIBINFIX=4

Using static libraries

Several MinGW packages in Fedora contain -static subpackages. These subpackages contain static libraries which can be used to create applications which contain no external dependencies on .DLL files.

When using these static libraries one must add some special #define's to the CFLAGS when building libraries and/or applications (depending on the static library used). If these CFLAGS are missing, the compilation of executables will most likely fail. The libraries which need additional CFLAGS are these:

GLib2:   -DGLIB_STATIC_COMPILATION -DGOBJECT_STATIC_COMPILATION
LibXML2: -DLIBXML_STATIC
Curl:    -DCURL_STATICLIB

If having trouble during ./configure

Try mingw32-configure!

If having trouble with cmake

Try mingw32-cmake!

Create a static executable with cmake

mingw32-cmake -DCMAKE_EXE_LINKER_FLAGS=-static ...