Windows/Build/Building Qt 4

From KDE Community Wiki

Currently you need qt-copy from kde svn to successful compile kdelibs! Maybe a current snapshot from 4.3 also works fine.

  1. Get the Qt4 source code
    • Trolltech customers: get it from Trolltech. After running the exe file, the sources will be unpacked into a selected directory.
    • Open Source developers: check out qt-copy from http://websvn.kde.org/trunk/qt-copy/ with your favorite svn client. Then patch the source code with KDE's own patches first: cd qt-copy; bash apply_patches.
  2. Compile Qt4
    • Trolltech customers: just start configure.exe and perform the installation.
    • Open Source developers: Get from unofficial (but legal) Qt4 patches for MSVC>=7.x from http://sourceforge.net/projects/qtwin/. Make sure to use the once for qt-copy! Note that Trolltech does not provide support for these compilers, so do not post any question about this patch to the Trolltech's mailing list. The files are stored in the Sourceforge SVN repository.
      • Unpack the file in the main Qt4 directory and apply the patches to Qt4: call installpatch4x.bat in the DOS window, or just run this batch file.
      • Configure Qt4: You will need openssl support - so make sure it's enabled!

Also make sure that configure.exe find openssl headers and libs:

qconfigure {PLATFORM} -openssl -I "<path to openssl headers>" \
-L "<path to openssl libs>" -qdbus -I "<path to windbus headers>" \
-L "<path to windbus libs>"

{PLATFORM} can be msvc.net for msvc .NET (2003) or msvc2005 for msvc 2005. This is needed to simplify path names in the future if you did not use the commercial configure.exe GUI installer:

set QTDIR={your qt installation directory}

Note: this (QTDIR) and the subsequent environment variables described below on this page could be set globally in the "System" applet, Advanced->Environment Variables. Optionally, if you want to have multiple configurations (e.g. Qt3 and Qt4) on the same machine and account, you can enter appropriate set commands into a single .bat file, e.g. environment.bat which you can then execute once in a new cmd shell.

See also alternative instructions at qtnode.net.