@li @ref page_cppconst_hardware
@li @ref page_cppconst_compiler
@li @ref page_cppconst_featuretests
+@li @ref page_cppconst_msvc_setup_h
@li @ref page_cppconst_miscellaneous
<hr>
@itemdef{__WINDOWS__, any Windows, you may also use __WXMSW__}
@itemdef{__WIN16__, Win16 API (not supported since wxWidgets 2.6)}
@itemdef{__WIN32__, Win32 API}
-@itemdef{__WXBASE__, Only wxBase, no GUI features (same as @c wxUSE_GUI $== 0$)}
+@itemdef{__WXBASE__, Only wxBase, no GUI features (same as @c wxUSE_GUI == 0)}
@itemdef{__WXCOCOA__, OS X using Cocoa API}
@itemdef{__WXDFB__, wxUniversal using DirectFB}
@itemdef{__WXWINCE__, Windows CE}
@beginDefList
@itemdef{__BORLANDC__, Borland C++. The value of the macro corresponds
- to the compiler version: $500$ is $5.0$.}
+ to the compiler version: 500 is 5.0.}
@itemdef{__DJGPP__, DJGPP}
@itemdef{__DIGITALMARS__, Digital Mars}
@itemdef{__GNUG__, Gnu C++ on any platform, see also wxCHECK_GCC_VERSION}
predefines the symbols in the form @c wxHAS_FEATURE. Unlike
@c wxUSE_FEATURE symbols which are defined by the library user (directly
in @c setup.h or by running configure script) and which must be always
-defined as either $0$ or $1$, the @c wxHAS symbols are only defined if
+defined as either 0 or 1, the @c wxHAS symbols are only defined if
the corresponding feature is available and not defined at all otherwise.
Currently the following symbols exist:
@beginDefList
+@itemdef{wxHAS_ATOMIC_OPS, Defined if wxAtomicInc() and wxAtomicDec() functions
+ have an efficient (CPU-specific) implementation. Notice that the functions
+ themselves are always available but can be prohibitively slow to use when
+ implemented in a generic way, using a critical section.}
@itemdef{wxHAS_LARGE_FILES, Defined if wxFile supports files more than 4GB in size.}
@itemdef{wxHAS_LARGE_FFILES, Defined if wxFFile supports files more than 4GB in size.}
@itemdef{wxHAS_POWER_EVENTS, Defined if wxPowerEvent are ever generated on the current platform.}
@itemdef{wxHAS_RADIO_MENU_ITEMS,
Defined if the current port supports radio menu items (see wxMenu::AppendRadioItem).}
+@itemdef{wxHAS_RAW_BITMAP, Defined if direct access to bitmap data using the classes in @c wx/rawbmp.h is supported.}
@itemdef{wxHAS_RAW_KEY_CODES, Defined if raw key codes (see wxKeyEvent::GetRawKeyCode are supported.}
@itemdef{wxHAS_REGEX_ADVANCED, Defined if advanced syntax is available in wxRegEx.}
@itemdef{wxHAS_TASK_BAR_ICON, Defined if wxTaskBarIcon is available on the current platform.}
+@section page_cppconst_msvc_setup_h Libraries selection for MSVC setup.h
+
+Microsoft Visual C++ users may use the special @c wx/setup.h file for this
+compiler in @c include/msvc subdirectory. This file implicitly links in all the
+wxWidgets libraries using MSVC-specific pragmas which usually is much more
+convenient than manually specifying the libraries list in all of the project
+configurations. However sometimes linking with all the libraries is not
+desirable, for example because some of them were not built and this is where
+the symbols in this section can be helpful: defining them allows to not link
+with the corresponding library. The following symbols are honoured:
+ - wxNO_ADV_LIB
+ - wxNO_AUI_LIB
+ - wxNO_HTML_LIB
+ - wxNO_MEDIA_LIB
+ - wxNO_NET_LIB
+ - wxNO_QA_LIB
+ - wxNO_RICHTEXT_LIB
+ - wxNO_XML_LIB
+ - wxNO_REGEX_LIB
+ - wxNO_EXPAT_LIB
+ - wxNO_JPEG_LIB
+ - wxNO_PNG_LIB
+ - wxNO_TIFF_LIB
+ - wxNO_ZLIB_LIB
+
+Notice that the base library is always included and the core is always included
+for the GUI applications (i.e. those which don't define @c wxUSE_GUI as 0).
+
+
@section page_cppconst_miscellaneous Miscellaneous
@beginDefList
always defined in wxWidgets applications, see also wxCHECK_VERSION}
@itemdef{__WXDEBUG__, defined in debug mode, undefined in release mode}
@itemdef{wxUSE_XXX,
- if defined as $1$, feature XXX is active, see the
+ if defined as 1, feature XXX is active, see the
@ref page_wxusedef (the symbols of this form are always defined,
use @if_ and not @ifdef_ to test for them)}
@itemdef{WX_PRECOMP,
headers you need.}
@itemdef{_UNICODE and UNICODE, both are defined if wxUSE_UNICODE is set to @c 1}
@itemdef{wxUSE_GUI,
- this particular feature test macro is defined to $1$
+ this particular feature test macro is defined to 1
when compiling or using the library with the GUI features activated,
if it is defined as @c 0, only wxBase is available.}
@itemdef{wxUSE_BASE,
- only used by wxWidgets internally (defined as $1$ when
+ only used by wxWidgets internally (defined as 1 when
building wxBase code, either as a standalone library or as part of the
- monolithic wxWidgets library, defined as $0$ when building GUI library only)}
+ monolithic wxWidgets library, defined as 0 when building GUI library only)}
@itemdef{wxNO_RTTI, is defined if the compiler RTTI support has been switched off}
@itemdef{wxNO_EXCEPTIONS,
is defined if the compiler support for C++ exceptions has been switched off}
@itemdef{wxNO_THREADS,
if this macro is defined, the compilation options
don't include compiler flags needed for multithreaded code generation. This
- implies that wxUSE_THREADS is $0$ and also that other (non-wx-based) threading
+ implies that wxUSE_THREADS is 0 and also that other (non-wx-based) threading
packages cannot be used neither.}
@itemdef{WXMAKINGDLL_XXX,
used internally and defined when building the