This table contains descriptions of some (mostly internal) macros which are not described anywhere (or not enough described) in the original Qt docs. It does not pretend to be a complete list of all Qt macros -- only those that are considered to be interesting or important are mentioned here.
Macro | Meaning | Scope | Notes |
---|---|---|---|
Q_OS_OS2 |
We're compiling under OS/2 | everywhere | |
Q_OS_OS2EMX |
We're compiling under OS/2in EMX mode to be run under XFree86/2 | everywhere | |
Q_WS_PM |
We're compiling for the OS/2 PM windowing system | everywhere | This macro is defined if Q_OS_OS2 is defined, and
not if Q_OS_OS2EMX is |
HAVE_QCONFIG_CPP |
If defined it means that the tools package contains
gconfig.cpp , that contains static char*
constants for various Qt installation paths
(QT_INSTALL_* ). Otherwise it is assumed that these
constants are #define d somewhere in makefiles during
compilation. |
qmake only | |
Q_FS_FAT |
The filesystem Qt lives in is FAT-like (i.e. ; are
used as path separators instead of : and so on). |
QDir class |
|
QT_LARGEFILE_SUPPORT |
OS supports manipulations with large (>2/4G) files | In OS/2 we currently disable it since only JFS has a support of large files. | |
NEEDS_QMAIN |
If defined, then the symbol main is redefined as
qMain |
||
QWS |
Qt/Embedded ?? | ||
QT_NO_COMPONENT |
If defined, no dynamic module linking (runtime DLL loading) (?) will be done | some classes | On Windows, this disables (?) COM support and
QPluginManager . Also, If this is not defined, then
QFileInfo will use dynamic loading of
ADVAPI32.DLL to resolve some security info functions.
Currently I don't know whether we should take this macro into account
under OS/2 or not. |
QT_NO_TEXTCODEC |
If defined, no QTextCodec class will be available and
all unicode strings will be considered as latin1
strings |
in parts related to the text conversion | In particular, this means that any conversion from Unicode to
single byte strings will be done by simple casting of every unicode
char to a regular char (i.e. eliminating the high byte of the unicode
word) and replacing unicode symbols whose codes higher than
0xFF with the '? ' char. |
QT_NO_CODECS |
If defined, there will be no Tamil, ISCII, Herbew and simple codecs | codecs module | |
QT_NO_BIG_CODECS |
Will be no big codecs such as Japanese etc. | codecs module | |
UNICODE |
if defined, Win32 uses *W versions of API functions
when the unicode support is available, and *A
otherwise |
win32-related parts of code (anywhere else?) | |
QT_NO_COMPAT |
If defined no obsolete class methods are implemented during Qt compilation | somewhere | |
QT_DLL |
If defined it means that the application is being linked with the DLL version of Qt | qglobal.h |
only for Win32 at the present |
QT_MAKEDLL |
If defined it means that the DLL version of Qt is being compiled | qglobal.h |
only for Win32 at the present (linux version compiled under
Borland uses QT_SHARED define for these purposes) |
Q_QDOC |
Constructs that are visible when this macro is defined, are used to generate the Qt reference documentation (i.e. real constructs used when compiling Qt can differ) | elsewhere | |
QT_NO_PIXMAP_TRANSFORMATION |
When defined, no QPixmap::xForm() and trueMatrix() are available | QPixmap and QBitmap classes |
|
QT_NO_PRINTER |
When defined, no QPrinter and QPSPrinter
classes are available |
QPrinter , QPSPrinter and
QPainter sources |
|
QT_NO_LAYOUT |
No QLayout* , QWidgetItem , and
Q*Layout classes, i.e. no layout management |
sources of these classes |
The table below contains the meaning of some qmake CONFIG variable options that are recognized by qmake and used in some project files.
Option | Meaning | Scope | Notes |
---|---|---|---|
shared |
qmake assumes that the application is linked with the dll version
of Qt and automatically adds the QT_DLL define |
Win32 | |
staticlib |
this is the opposite to dll (the latter takes
precedence), meaning that a static library (not DLL) is being
compiled |
This meaning in Win32 only (?) |