1 \section{Preprocesser symbols defined by wxWindows
}\label{cppconst
}
3 Here is the list of preprocessor symbols used in the wxWindows source grouped
4 by category (and sorted by alphabetical order inside each category).
6 \subsection{GUI system
}
8 \begin{twocollist
}\itemsep=
0pt
9 \twocolitem{\_\_WINDOWS\_\_}{any Windows, yom may also use
\_\_WXMSW\_\_}
10 \twocolitem{\_\_WIN16\_\_}{Win16 API (not supported since wxWindows
2.6)
}
11 \twocolitem{\_\_WIN32\_\_}{Win32 API
}
12 \twocolitem{\_\_WIN95\_\_}{Windows
95 or NT
4.0 and above system (not NT
3.5x)
}
13 \twocolitem{\_\_WXBASE\_\_}{Only wxBase, no GUI features
}
14 \twocolitem{\_\_WXGTK\_\_}{GTK
}
15 \twocolitem{\_\_WXGTK12\_\_}{GTK
1.2 or higher
}
16 \twocolitem{\_\_WXGTK20\_\_}{GTK
2.0 or higher
}
17 \twocolitem{\_\_WXMOTIF\_\_}{Motif
}
18 \twocolitem{\_\_WXMOTIF20\_\_}{Motif
2.0 or higher
}
19 \twocolitem{\_\_WXMAC\_\_}{Mac OS whether Classic (Mac OS
8/
9 TARGET
\_CARBON
20 ==
0) or Carbon (including Mac OS X TARGET
\_CARBON ==
1)
}
21 \twocolitem{\_\_WXMGL\_\_}{SciTech Soft MGL (
\_\_WXUNIVERSAL\_\_ will be also
23 \twocolitem{\_\_WXMSW\_\_}{Any Windows
}
24 \twocolitem{\_\_WXOS2\_\_}{Identical to
\_\_WXPM\_\_}
25 \twocolitem{\_\_WXPM\_\_}{OS/
2 native Presentation Manager
}
26 \twocolitem{\_\_WXSTUBS\_\_}{Stubbed version ('template' wxWin implementation)
}
27 \twocolitem{\_\_WXXT\_\_}{Xt; mutually exclusive with WX
\_MOTIF, not
28 implemented in wxWindows
2.x
}
29 \twocolitem{\_\_WXX11\_\_}{wxX11 (
\_\_WXUNIVERSAL\_\_ will be also defined)
}
30 \twocolitem{\_\_WXWINE\_\_}{WINE (i.e. Win32 on Unix)
}
31 \twocolitem{\_\_WXUNIVERSAL\_\_}{wxUniversal port, always defined in addition
32 to one of the symbols above so this should be tested first.
}
33 \twocolitem{\_\_X\_\_}{any X11-based GUI toolkit except GTK+
}
36 In fact, they should better all start with
\_\_WX instead of
\_\_ only,
37 so please start any new defines with
\_\_WX.
39 \subsection{Operating systems
}
41 \begin{twocollist
}\itemsep=
0pt
42 \twocolitem{\_\_APPLE\_\_}{any Mac OS version
}
43 \twocolitem{\_\_AIX\_\_}{AIX
}
44 \twocolitem{\_\_BSD\_\_}{Any *BSD system
}
45 \twocolitem{\_\_CYGWIN\_\_}{Cygwin: Unix on Win32
}
46 \twocolitem{\_\_DARWIN\_\_}{Mac OS X using the BSD Unix C library (as opposed to using the Metrowerks MSL C/C++ library)
}
47 \twocolitem{\_\_DATA\_GENERAL\_\_}{DG-UX
}
48 \twocolitem{\_\_DOS\_GENERAL\_\_}{DOS (used with wxMGL only)
}
49 \twocolitem{\_\_FREEBSD\_\_}{FreeBSD
}
50 \twocolitem{\_\_HPUX\_\_}{HP-UX (Unix)
}
51 \twocolitem{\_\_GNU\_\_}{GNU Hurd
}
52 \twocolitem{\_\_LINUX\_\_}{Linux
}
53 \twocolitem{\_\_MACH\_\_}{Mach-O Architecture (Mac OS X only builds)
}
54 \twocolitem{\_\_OSF\_\_}{OSF/
1}
55 \twocolitem{\_\_SGI\_\_}{IRIX
}
56 \twocolitem{\_\_SOLARIS\_\_}{Solaris
}
57 \twocolitem{\_\_SUN\_\_}{Any Sun
}
58 \twocolitem{\_\_SUNOS\_\_}{Sun OS
}
59 \twocolitem{\_\_SVR4\_\_}{SystemV R4
}
60 \twocolitem{\_\_SYSV\_\_}{SystemV generic
}
61 \twocolitem{\_\_ULTRIX\_\_}{Ultrix
}
62 \twocolitem{\_\_UNIX\_\_}{any Unix
}
63 \twocolitem{\_\_UNIX\_LIKE\_\_}{Unix, BeOS or VMS
}
64 \twocolitem{\_\_VMS\_\_}{VMS
}
65 \twocolitem{\_\_WINDOWS\_\_}{any Windows
}
68 \subsection{Hardware architectures
}
70 Note that not all of these symbols are always defined, it depends on the
73 \begin{twocollist
}\itemsep=
0pt
74 \twocolitem{\_\_ALPHA\_\_}{DEC Alpha architecture
}
75 \twocolitem{\_\_INTEL\_\_}{Intel i386 or compatible
}
76 \twocolitem{\_\_POWERPC\_\_}{Motorola Power PC
}
79 \subsection{Compilers
}
81 \begin{twocollist
}\itemsep=
0pt
82 \twocolitem{\_\_BORLANDC\_\_}{Borland C++. The value of the macro corresponds
83 to the compiler version: $
500$ is $
5.0$.
}
84 \twocolitem{\_\_DJGPP\_\_}{DJGPP
}
85 \twocolitem{\_\_GNUG\_\_}{Gnu C++ on any platform, see also
86 \helpref{wxCHECK
\_GCC\_VERSION}{wxcheckgccversion
}}
87 \twocolitem{\_\_GNUWIN32\_\_}{Gnu-Win32 compiler, see also
88 \helpref{wxCHECK
\_W32API\_VERSION}{wxcheckw32apiversion
}}
89 \twocolitem{\_\_MWERKS\_\_}{CodeWarrior MetroWerks compiler
}
90 \twocolitem{\_\_SUNCC\_\_}{Sun CC
}
91 \twocolitem{\_\_SYMANTECC\_\_}{Symantec C++
}
92 \twocolitem{\_\_VISAGECPP\_\_}{IBM Visual Age (OS/
2)
}
93 \twocolitem{\_\_VISUALC\_\_}{Microsoft Visual C++. The value of this macro
94 corresponds to the compiler version: $
1020$ for $
4.2$ (the first supported
95 version), $
1100$ for $
5.0$, $
1200$ for $
6.0$ and so on
}
96 \twocolitem{\_\_XLC\_\_}{AIX compiler
}
97 \twocolitem{\_\_WATCOMC\_\_}{Watcom C++. The value of this macro corresponds to
98 the compiler version, $
1100$ is $
11.0$ and $
1200$ is OpenWatcom.
}
101 \subsection{Miscellaneous
}
103 \begin{twocollist
}\itemsep=
0pt
104 \twocolitem{\_\_WXWINDOWS\_\_}{always defined in wxWindows applications, see
105 also
\helpref{wxCHECK
\_VERSION}{wxcheckversion
}}
106 \twocolitem{\_\_WXDEBUG\_\_}{defined in debug mode, undefined in release mode
}
107 \twocolitem{wxUSE
\_XXX}{if defined as $
1$, feature XXX is active
108 (the symbols of this form are always defined, use \#if and not \#ifdef to test
110 \twocolitem{wxUSE
\_GUI}{this particular feature test macro is defined to $
1$
111 when compiling or using the library with the GUI features activated, if it is
112 defined as $
0$, only wxBase is available.
}
113 \twocolitem{wxUSE
\_BASE}{only used by wxWindows internally (defined as $
1$ when
114 building wxBase code, either as a standalone library or as part of the
115 monolithic wxWindows library, defined as $
0$ when building GUI library only)
}