C++ Team Blog
The latest in C++, Visual Studio, VS Code, and vcpkg from the MSFT C++ team
Latest posts
Windows desktop development with C++ in Visual Studio
The Windows desktop platform has long been the most popular platform among C++ application developers. With C++ and Visual Studio, you use Windows SDKs to target many versions of Windows ranging from Windows XP to Windows 10, which is well over a billion devices. Popular desktop applications like Microsoft Office, Adobe Creative Suite, and Google Chrome all are built using the same Win32 APIs that serve as the foundation for Windows desktop development. Developing for Windows desktop allows you to reach the highest number of users on any non-mobile development platform. In this post we will dive into the “D...
Bring your C++ code to Visual Studio
C++ has been around for a long time and throughout its history many tools have been built to make life easier for C++ developers. This has led to a diverse C++ ecosystem in terms of the editing tools, build systems, coding conventions, and C++ libraries that we use in our day-to-day work. As a C++ developer, you are probably accustomed to using a variety of tools from different vendors for different purposes. Rest assured that you will not trade-in your flexibility in how you develop your C++ projects once you start using Visual Studio. Visual Studio provides industry-leading development tools for C++ for any pla...
Migrate your existing Windows C++ projects to MSBuild
If your project targets one of the Windows platforms only (Desktop or UWP), you should consider using MSBuild as your C++ build system. If you consider expanding beyond these platforms though, consider using CMake to specify your build. To learn more, read about the CMake support in Visual Studio. Using MSBuild has the benefit that from a single codebase you can easily target all the Windows platforms that VS supports today, and you can leverage the C++ Project System that provides file and project management functionality. This makes it easy to manage your project as it grows (easily adding project references b...
Migrate your existing iOS XCode projects to Visual Studio
If you’re targeting iOS and writing a lot of C++ code, you should consider importing your XCode projects inside Visual Studio. Visual Studio not only provides an easy way to import these projects, but also allows opening these projects back in XCode if you need to make non-C++ related edits (e.g. storyboarding, UI design). This article covers the high-level steps needed to import your existing iOS XCode projects into Visual Studio. You can read about other C++ project types in the guide for Bringing your C++ code to Visual Studio. Step 1. Install iOS support: Make sure that during VS installation, you select th...
Bring your existing Android Eclipse projects to Visual Studio
You can use Visual Studio to develop your C++ projects targeting Android. To learn more about this support read the Visual C++ for Cross-Platform Mobile development section on MSDN. If you’re currently using Eclipse and considering moving to Visual Studio, you can do that via our Eclipse Android Project Import Wizard. You can read about other C++ project types in the guide for Bringing your C++ code to Visual Studio. Step 1. Install Android Support: Make sure that during VS installation, you select the “Mobile development with C++” workload. By default, it already includes all the prerequisites needed to build ...
Bring your existing C++ Linux projects to Visual Studio
Visual Studio supports targeting Linux out of the box – you can edit, remote build and remote debug to a Linux machine (whether that’s a remote machine, a VM running locally or in the cloud, or WSL in Windows 10). This article covers the high-level steps to bring your existing Linux projects to Visual Studio. You can read about other C++ project types in the guide for Bringing your C++ code to Visual Studio. Step 1. Install: Just make sure that you select the C++ Linux workload as part of the VS installation. Step 2. Generate VS project: The next step is to create a VS Linux makefile project Step ...
Bring your existing Qt projects to Visual Studio
Qt framework is an ever growing cross-platform C++ framework, ideal for building desktop, mobile, and even embedded solutions. While you can use CMake to target Qt (if you do, you should read more about the Visual Studio support for CMake), Qt also provides its own Qt-optimized build system called qmake. If your project is using qmake, this article covers the high-level steps to follow to import your projects into Visual Studio. You can read about other C++ project types in the guide for Bringing your C++ code to Visual Studio. Step 1. Install the QT Visual Studio Extension. From the Marketplace, install the ...
DirectX game development with C++ in Visual Studio
Leverage the full power of C++ to build high-end games powered by DirectX to run on a variety of devices in the Windows family, including desktops, tablets, and phones. In this blog post we will dive into DirectX development with C++ in Visual Studio. First we'll look at how to acquire the tools needed for DirectX desktop and Universal Windows Platform (UWP) development, then we will get started with a built-in project template, followed by writing C++ code and HLSL (High Level Shader Language) shaders for the DirectX game. Next we will use the world-class Visual Studio debugger and the Visual Studio DirectX grap...
Linux development with C++ in Visual Studio
This post was updated on December 11, 2020 Visual Studio 2017 introduced the Linux Development with C++ workload. We generally recommend Visual Studio’s native support for CMake for all C++ Linux development. Visual Studio’s CMake support allows you to target multiple platforms (Windows, a remote Linux system, the Windows Subsystem for Linux, embedded targets…) with a single CMake project. You can learn more about CMake projects in our documentation and on our C++ Team Blog. This post describes how to use Visual Studio’s MSBuild-based support to build and debug on a remote Linux system with Visual Studio 20...