Contents Up Previous Next

Preprocesser symbols defined by wxWindows

Here is the list of preprocessor symbols used in the wxWindows source grouped by category (and sorted by alphabetical order inside each category).

GUI system
Operating systems
Hardware architectures
Compilers
Miscellaneous


GUI system

__WINDOWS__ any Windows, yom may also use __WXMSW__
__WIN16__ Win16 API
__WIN32__ Win32 API
__WIN95__ Windows 95 or NT 4.0 and above system (not NT 3.5x)
__WXGTK__ GTK
__WXGTK12__ GTK 1.2 or higher
__WXGTK20__ GTK 2.0 or higher
__WXMOTIF__ Motif
__WXMAC__ MacOS
__WXMGL__ SciTech Soft MGL (__WXUNIVERSAL__ will be also defined)
__WXMSW__ Any Windows
__WXOS2__ Identical to __WXPM__
__WXPM__ OS/2 native Presentation Manager
__WXSTUBS__ Stubbed version ('template' wxWin implementation)
__WXXT__ Xt; mutually exclusive with WX_MOTIF, not implemented in wxWindows 2.x
__WXX11__ wxX11 (__WXUNIVERSAL__ will be also defined)
__WXWINE__ WINE (i.e. Win32 on Unix)
__WXUNIVERSAL__ wxUniversal port, always defined in addition to one of the symbols above so this should be tested first.
__X__ any X11-based GUI toolkit except GTK+

In fact, they should better all start with __WX instead of __ only. The only GUIs implemented for 2.0 are __WXGTK__, __WXMSW__ and __WXMOTIF__ yet. Any new ones, please start the define with __WX.


Operating systems

__APPLE__ any Mac OS version
__AIX__ AIX
__BSD__ Any *BSD system
__CYGWIN__ Cygwin: Unix on Win32
__DARWIN__ Mac OS X
__DATA_GENERAL__ DG-UX
__DOS_GENERAL__ DOS (used with wxMGL only)
__FREEBSD__ FreeBSD
__HPUX__ HP-UX (Unix)
__LINUX__ Linux
__OSF__ OSF/1
__SGI__ IRIX
__SOLARIS__ Solaris
__SUN__ Any Sun
__SUNOS__ Sun OS
__SVR4__ SystemV R4
__SYSV__ SystemV generic
__ULTRIX__ Ultrix
__UNIX__ any Unix
__UNIX_LIKE__ Unix, BeOS or VMS
__VMS__ VMS
__WINDOWS__ any Windows


Hardware architectures

Note that not all of these symbols are always defined, it depends on the compiler used.

__ALPHA__ DEC Alpha architecture
__INTEL__ Intel i386 or compatible
__POWERPC__ Motorola Power PC


Compilers

__BORLANDC__ Borland C++
__DJGPP__ DJGPP
__GNUG__ Gnu C++ on any platform
__GNUWIN32__ Gnu-Win32 compiler
__MWERKS__ CodeWarrior MetroWerks compiler
__SUNCC__ Sun CC
__SYMANTECC__ Symantec C++
__VISAGECPP__ IBM Visual Age (OS/2)
__VISUALC__ Microsoft Visual C++
__XLC__ AIX compiler
__WATCOMC__ Watcom C++


Miscellaneous

__WXDEBUG__ defined in debug mode, undefined in release mode
wxUSE_XXX if defined as 1, feature XXX is active (the symbols of this form are always defined, use if and not ifdef to test for them)