From a2b84d40a0e26b0e0b1e85968a1b56db0ef20944 Mon Sep 17 00:00:00 2001 From: PB Date: Tue, 11 Oct 2022 18:15:58 +0200 Subject: [PATCH] Prune mentions of no longer supported compilers from the docs Remove mentions of older MSVC versions and very old gcc versions. --- docs/doxygen/mainpages/const_cpp.h | 26 +++++++++---------- docs/doxygen/mainpages/const_wxusedef.h | 6 ++--- docs/msw/install.md | 33 ++++++++++--------------- docs/msw/winxp.md | 2 +- interface/wx/defs.h | 8 ------ 5 files changed, 28 insertions(+), 47 deletions(-) diff --git a/docs/doxygen/mainpages/const_cpp.h b/docs/doxygen/mainpages/const_cpp.h index 63c9931a4d..f2f540cc0a 100644 --- a/docs/doxygen/mainpages/const_cpp.h +++ b/docs/doxygen/mainpages/const_cpp.h @@ -247,13 +247,12 @@ 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. Additionally, VC 14 is a special case as it has 3 minor -versions: VC 14.0, 14.1 and 14.2, corresponding to MSVS 2015, 2017 and 2019; -that are ABI-compatible with each other. Due to this, it can also be useful to -reuse the single build of wxWidgets with all versions of the compiler and this -is supported if @c wxMSVC_VERSION_ABI_COMPAT is defined: the compiler prefix -"vc14x" is used in this case. +be used automatically, e.g. "vc140" for VC 14 (MSVS 2015). Additionally, +VC 14 is a special case as it has (so far) 4 minor versions: VC 14.0, 14.1, 14.2 +and 14.3, corresponding to MSVS 2015, 2017, 2019 and 2022; that are ABI-compatible +with each other. Due to this, it can also be useful to reuse the single build +of wxWidgets with all versions of the compiler and this is supported if +@c wxMSVC_VERSION_ABI_COMPAT is defined: the compiler prefix "vc14x" is used in this case. 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 @@ -297,13 +296,12 @@ for the GUI applications (i.e. those which don't define @c wxUSE_GUI as 0). wxWidgets always tries to preserve source backwards compatibility, however sometimes existing symbols may need to be removed. Except in exceedingly rare cases, this happens in several steps: first, the symbol is marked as -deprecated, so that using it results in a warning when using the common -compilers (e.g. any non-ancient version of MSVC, gcc or clang) in some -wxWidgets release @c x.y. It can still be used, however the warnings indicate -all the places in your code which will need to be updated in the future. If -your code doesn't use any deprecated symbols or you have already fixed all -their occurrences, you may change @c WXWIN_COMPATIBILITY_x_y to 0 to ensure -they can't be used -- however its default value is still 1 at this time. +deprecated, so that using it results in a warning when using the supported +compilers in some wxWidgets release @c x.y. It can still be used, however +the warnings indicate all the places in your code which will need to be updated +in the future. If your code doesn't use any deprecated symbols or you have already +fixed all their occurrences, you may change @c WXWIN_COMPATIBILITY_x_y to 0 +to ensure they can't be used -- however its default value is still 1 at this time. At some point in the future, the next stable wxWidgets release @c x.y+2 changes the default @c WXWIN_COMPATIBILITY_x_y value to 0, meaning that now the symbol diff --git a/docs/doxygen/mainpages/const_wxusedef.h b/docs/doxygen/mainpages/const_wxusedef.h index bd9df4d69f..95e9ce1bd0 100644 --- a/docs/doxygen/mainpages/const_wxusedef.h +++ b/docs/doxygen/mainpages/const_wxusedef.h @@ -343,10 +343,8 @@ manifest from wxWidgets RC file. See also wxUSE_RC_MANIFEST.} @itemdef{wxUSE_POSTSCRIPT_ARCHITECTURE_IN_MSW, Use PS printing in wxMSW.} @itemdef{wxUSE_PS_PRINTING, See src/msw/dcprint.cpp file.} @itemdef{wxUSE_RC_MANIFEST, Include manifest for common controls library v6 -from wxWidgets RC file. This may be needed to be defined explicitly for MSVC 7 -(a.k.a. MSVS 2003) only as later versions of MSVC generate this manifest -themselves and the manifest generation is enabled by default for the other -compilers. See also wxUSE_NO_MANIFEST.} +from wxWidgets RC file. This is disabled by default for MSVC but enabled for +the other compilers. See also wxUSE_NO_MANIFEST.} @itemdef{wxUSE_REGKEY, Use wxRegKey class.} @itemdef{wxUSE_RICHEDIT, Enable use of riched32.dll in wxTextCtrl} @itemdef{wxUSE_RICHEDIT2, Enable use of riched20.dll in wxTextCtrl} diff --git a/docs/msw/install.md b/docs/msw/install.md index f4b3da62c0..0d722e77cd 100644 --- a/docs/msw/install.md +++ b/docs/msw/install.md @@ -49,11 +49,9 @@ Microsoft Visual C++ Compilation {#msw_build_msvs} ### From the IDE -Ready to use project files are provided for VC++ versions 8, 9, -10, 11, 12, 14, 15, 16 and 17 (also known as MSVS 2005, 2008, 2010, 2012, -2013, 2015, 2017, 2019 and 2022 respectively). +Ready to use project files are provided for VC++ versions 2015, 2017, 2019 and 2022. -Simply open `wx_vcN.sln` (for N=8, 9, 10, 11, 12, 14, 15, 16 or 17) file, +Simply open `wx_vcN.sln` (for N=14, 15, 16 or 17) file, select the appropriate configuration (Debug or Release, static or DLL) and build the solution. Notice that when building a DLL configuration, you may need to perform the build several times because the projects @@ -116,9 +114,9 @@ contributors. If the version is out of date, please [create an issue or pull req -### Special notes for Visual Studio 2010+ +### Special notes for Visual Studio -For Visual Studio 2010+ solutions it is possible to customize the build by +For Visual Studio solutions it is possible to customize the build by creating a `wx_local.props` file in the `build\msw` directory which is used, if it exists, by the projects. The settings in that file override the default values for the properties such as wxCfg (corresponding to the CFG makefile variable @@ -131,8 +129,8 @@ of Visual Studio you could change wxCompilerPrefix to include the toolset: - vc + vc$(PlatformToolsetVersion) -Following that example if you are using Visual Studio 2013 and open -`wx_vc12.sln` it will build using the "vc120" prefix for the build directories +Following that example if you are using Visual Studio 2015 and open +`wx_vc14.sln` it will build using the "vc140" prefix for the build directories so to allow its build files to coexist with the files produced by the other MSVC versions. @@ -143,16 +141,13 @@ updated with it. For example the version information in `wx_setup.props` could change and the information in your `wx_local.props` would be outdated. It is your responsibility to monitor for such situations. -### Improve debugging for Visual Studio 2012+ +### Improve debugging for Visual Studio -Debug visualizers for Visual Studio 2012+ are provided which makes inspecting -various wxWidgets classes easier to view while debugging. To use them: - -1. Open the folder `%%WXWIN%\misc\msvc` -2. Open the folder `%%USERPROFILE%\My Documents\Visual Studio 2012\Visualizers` - (or the corresponding location for newer versions, e.g. `...2013\Visualizers`) -3. Copy `wxWidgets.natvis` and `autoexp.inc` -4. For Visual Studio 2013+ additionally copy `wxWidgets.2013.natvis` +Debug visualizers which make inspecting various wxWidgets classes easier to view +while debugging are provided in file `%%WXWIN%\misc\msvc\wxWidgets.natvis`. +The visualisers can be either added to a project or installed system-wide. +See the [Visual Studio documentation](https://learn.microsoft.com/en-us/visualstudio/debugger/create-custom-views-of-native-objects) +for more information. MinGW Compilation {#msw_build_mingw} @@ -473,8 +468,6 @@ Here is what you need to do: - `_UNICODE` unless you want to use deprecated ANSI build of wxWidgets. - `NDEBUG` if you want to build in release mode, i.e. disable asserts. - `WXUSINGDLL` if you are using DLL build of wxWidgets. -* If using MSVC 7 only (i.e. not for later versions), also define - `wxUSE_RC_MANIFEST=1` and `WX_CPU_X86`. * Add `` directory described above to the libraries path. When using MSVC, the libraries are linked automatically using "#pragma @@ -497,7 +490,7 @@ instructions here are out of date, you can always simply copy a makefile or project file from `$WXWIN\samples\minimal` or some other sample and adapt it to your application. -If you are not using Visual Studio 2010 or newer please see +If you are not using Visual Studio please see @subpage plat_msw_winxp "Windows XP Support" to enable visual styles in your application. diff --git a/docs/msw/winxp.md b/docs/msw/winxp.md index 78f9ed3f0f..78e6a25a35 100644 --- a/docs/msw/winxp.md +++ b/docs/msw/winxp.md @@ -11,7 +11,7 @@ wxWidgets programs but is required for all Windows applications). wxWidgets now includes manifest resources in wx.rc, so it should be enough to include "wx/msw/wx.rc" in your application's resource file and you get -XP look automatically. Notice that MSVC 2005 and later embed manifest in the +XP look automatically. Notice that MSVC embeds manifest in the executables it produces and wxWidgets doesn't use its own manifest when using this compiler. And if you don't want to use wxWidgets manifest with another compiler you may define wxUSE_NO_MANIFEST as 1 prior to including wx/msw/wx.rc. diff --git a/interface/wx/defs.h b/interface/wx/defs.h index 679f69d787..6dfd368e4c 100644 --- a/interface/wx/defs.h +++ b/interface/wx/defs.h @@ -1697,11 +1697,6 @@ template void wxDELETEA(T*& array); wxString wxGetSomething(); @endcode - For compilers other than clang, g++ 4.5 or later and MSVC 8 (MSVS 2005) or - later, the message is ignored and a generic deprecation warning is given if - possible, i.e. if the compiler is g++ (any supported version) or MSVC 7 - (MSVS 2003) or later. - @since 3.0 @header{wx/defs.h} @@ -1715,9 +1710,6 @@ template void wxDELETEA(T*& array); Notice that this macro itself is deprecated in favour of wxDEPRECATED_MSG()! - Only Visual C++ 7 and higher and g++ compilers currently support this - functionality. - Example of use: @code