C++-funktioner inaktuella eller borttagna från Visual Studio

Den här artikeln är en outtömmande lista över C++-funktioner som är inaktuella eller borttagna från Visual Studio 2019 och senare. För information om brytande ändringar och efterlevnadsförbättringar för C++ i den senaste versionen av Visual Studio, se C++-överensstämmelseförbättringar i Visual Studio.

Stöd för Windows XP-utveckling

Visual Studio 2019- och senare versioner innehåller inte stöd för aktuella byggverktyg för att skapa kod för Windows XP. Stöd för Windows XP-utveckling med hjälp av v141_xp build-verktyg som levereras i Visual Studio 2017 är fortfarande tillgängligt som en valfri komponent i Visual Studio Installer. Information om hur du installerar v141_xp Windows XP-plattformsverktyg finns i Konfigurera program för Windows XP.

Visual Studio 2026 (MSVC 14.51)

  • Följande experimentella coroutine-huvuden är nu inaktuella: <experimental/coroutine>, <experimental/generator>och <experimental/resumable>. Övergå till standardkoroutiner i C++20 med <coroutine>-headerfilen.

Borttagna funktioner

Följande inaktuella icke-standardfunktioner tas bort:

  • TR1 inklusive namnrymden std::tr1, gamla array::assign()- och <random>-motorer samt gamla distributioner. Inaktuell sedan VS 2017 15,5 (december 2017).
  • _ALLOW_RTCc_IN_STL makrot har tagits bort. Standardmallbiblioteket stöder inte kompilatoralternativet /RTCc , men /RTCs och /RTCu//RTC1 stöds fortfarande.
  • <hash_map> och <hash_set>. Inaktuell sedan VS 2015 (juli 2015).
  • <experimental/filesystem>. Inaktuell sedan VS 2019 16,3 (september 2019).
  • stdext::checked_array_iterator och stdext::unchecked_array_iterator. Inaktuell sedan VS 2022 17,8 (november 2023) för C++17 och senare.
  • basic_istream::ipfx() / isfx() och basic_ostream::opfx()/osfx(). Inaktuell sedan VS 2022 17.9 (februari 2024) för C++17 och senare.
  • locale::empty(). Inaktuell sedan VS 2022 17.14 (maj 2025).

Visual Studio 2022

Stöd för projektuppgradering från Visual C++ 6

Visual Studio 2022 och senare versioner stöder inte uppgraderingar från Visual C++ 6-arbetsytefiler (.dsw) och Projekt (.dsp). Visual Studio registrerar inte längre filnamnstilläggen .dsw och .dsp som Visual Studio-filtyper. Om du vill uppgradera ett projekt med dessa tillägg använder du först Visual Studio 2019 för att uppgradera projektet till moderna solution-filer (.sln) och C++-projektfiler (.vcxproj). Uppgradera sedan projektet igen med den aktuella versionen av Visual Studio.

Visual Studio 2026

Visual Studio 2026 och senare versioner stöder inte C++AMP, ARM32-verktygskedjan och /DEBUG:FASTLINK. Om du använder /DEBUG:FASTLINKväxlar du till /DEBUG:FULL för förbättrat felsökningsstöd. Utvecklare som behöver rikta in sig på ARM32 kan fortsätta att använda versionsverktygen för Visual Studio 2022 v143 enligt beskrivningen i det här Microsoft-blogginlägget.

Utfasning av /await

MSVC-kompilatorväxeln /await är inaktuell och tas bort i en framtida version. Den här omkopplaren aktiverade en tidig utkast till implementering av C++-coroutines med hjälp av <experimental/coroutine>-huvudet. Utvecklare bör övergå till standard C++-koroutiner med hjälp av headern <coroutine> som är tillgänglig i C++20 och senare. För C++14/17-projekt använder du /await:strict (som inte är inaktuell) för att komma åt standardrubriken <coroutine> utan att aktivera andra C++20-funktioner.

Stöd för Windows 7, 8 och 8.1 för Microsoft C++ Build Tools

I Visual Studio 2026 höjde Microsoft C++ (MSVC) Build Tools minimikraven för operativsystem som stöds. Med den här versionen riktar sig inte build-verktygen längre till:

  • Windows 7/Windows Server 2008 R2
  • Windows 8/Windows Server 2012
  • Windows 8.1 /Windows Server 2012 R2

Om du vill skapa program med de senaste C++-verktygen måste målplattformen vara Windows 10 eller Windows Server 2016 (eller senare).

De här ändringarna ger bättre prestanda, förbättrad säkerhet och anpassning till de senaste funktionerna i Windows-plattformen.

Stöd för mobil utveckling med C++ och Embedded- och IoT-verktyg

Från och med Visual Studio 2026 (version 18.0), mobilutveckling med C++ -arbetsbelastning för iOS- och Android-mål i Visual Studio-installationsprogrammet och embedded- och IoT-verktygen – inklusive RTOS Viewer, Serial Monitor, Peripheral Viewer och ST Project Import – stöds inte längre och kommer att tas bort i en framtida uppdatering. De Android-NDK:er som anges i Mobil utveckling med C++-arbetsbelastning fortsätter dock att stödjas.