diff --git a/docs/doxygen/mainpages/const_cpp.h b/docs/doxygen/mainpages/const_cpp.h index 58a2bba2bc..79ac183596 100644 --- a/docs/doxygen/mainpages/const_cpp.h +++ b/docs/doxygen/mainpages/const_cpp.h @@ -208,16 +208,42 @@ Currently the following symbols exist: -@section page_cppconst_msvc_setup_h Library Selection for MSVC +@section page_cppconst_msvc_setup_h MSVC-specific Symbols 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: +configurations. + +By default, the pragmas used in this file to actually link with wxWidgets +libraries suppose that the libraries are located in @c vc_lib or @c vc_dll +directory which is used by default. However when using multiple MSVC versions, +or when using the @ref plat_msw_binaries "official binaries", the libraries are +in a directory containing the compiler version number, e.g. @c vc140_dll. To +make linking work in this case, you must predefine @c wxMSVC_VERSION as @c +vc140 before include @c wx/setup.h file, i.e. typically in the MSVS +project options. Alternatively, you can predefine @c wxMSVC_VERSION_AUTO symbol +(without any value), which means that the appropriate compiler version should +be used automatically, e.g. "vc100" for VC 10 (MSVS 2010), "vc140" for VC 14 +(MSVS 2015) etc. + +If the makefiles have been used to build the libraries from source and the @c CFG +variable has been set to specify a different output path for that particular +configuration of build then the @c wxCFG preprocessor symbol should be set in +the project that uses wxWidgets to the same value as the @c CFG variable in +order for the correct @c wx/setup.h file to automatically be included for that +configuration. + + +@subsection page_cppconst_msvc_setup_h_no_libs Library Selection for MSVC + +As explained above, MSVC users don't need to explicitly specify wxWidgets +libraries to link with, as this is done by @c wx/setup.h. However sometimes +linking with all the libraries, as is done by default, 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_AUI_LIB - wxNO_HTML_LIB @@ -238,13 +264,6 @@ with the corresponding library. The following symbols are honoured: 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). -If the makefiles have been used to build the libraries from source and the @c CFG -variable has been set to specify a different output path for that particular -configuration of build then the @c wxCFG preprocessor symbol should be set in -the project that uses wxWidgets to the same value as the @c CFG variable in -order for the correct @c wx/setup.h file to automatically be included for that -configuration. - @section page_cppconst_compatibility Compatibility Macros