This is an old revision of the document!


Building Qt on Windows

Download the sources from http://qt.nokia.com/downloads (choose “LGPL” and “Framework Only”) and run the installer. Accept the default answer to every question and ignore the warning about using the wrong MinGW version (the one Qt wants to use is prehistoric and completely unusable).

There is (at least) one known bug in 4.4.x, which is that Qt includes incorrect prototypes for Windows's atomic increment / decrement / compare / exchange primitives, see for instance:

As a workaround, edit C:\Qt\4.4.0\src\corelib\arch\qatomic_windows.h (or the equivalent on your system). In the declaration block on lines 392-398, add a volatile qualifier to the first argument of each prototype:

extern "C" {
    __declspec(dllimport) long __stdcall InterlockedCompareExchange(volatile long *, long, long);
    __declspec(dllimport) long __stdcall InterlockedIncrement(volatile long *);
    __declspec(dllimport) long __stdcall InterlockedDecrement(volatile long *);
    __declspec(dllimport) long __stdcall InterlockedExchange(volatile long *, long);
    __declspec(dllimport) long __stdcall InterlockedExchangeAdd(volatile long *, long);
}
This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.More information about cookies
  • diana/windows/building/qt.1261146134.txt.gz
  • Last modified: 2022-05-31 09:23:14
  • (external edit)