![]() ![]() Use the dropdown in the middle to select your active Configure Preset. To customize this behavior, see Modify automatic configuration and cache notifications. If Visual Studio starts to configure your project automatically, read step 11 to manage CMake binary deployment, and then continue to the step below. In the following image, WSL2: Ubuntu-20.04 is shown selected as the Target System. Visual Studio queries for WSL installations with wsl -l -v. This is the system where CMake will be invoked to configure and build the project. Use the dropdown on the left to select your active target system. There are three dropdowns across the Visual Studio main menu bar. Under Open recent, select the folder you just closed to reopen the folder. To activate the integration: from the main menu, select File > Close Folder. For more information, see Enable CMake Presets integration. Instead, you could have added a CMakePresets.json file to the root of the project. Select Prefer using CMake Presets for configure, build, and test, then select OK. Select Tools > Options > CMake > General. Give the project a name and location, and then select Create.Įnable Visual Studio's CMake Presets integration. Choose the CMake Project type and select Next. In the Search for templates textbox, type "cmake". In this walkthrough, you'll create a new CMake project by using the Visual Studio CMake Project template:įrom the Visual Studio Get started screen, select Create a new project. Visual Studio defines a CMake project as a folder with a CMakeLists.txt file at the project root. And Visual Studio 2022 version 17.0 Preview 2 or later. This walkthrough uses GCC and Ninja on Ubuntu. Sudo apt install g++ gdb make ninja-build rsync zipĬross-platform CMake development with a WSL 2 distro ![]() Install WSL and a WSL 2 distro by following the instructions at Install WSL.Īssuming your distro uses apt (this walkthrough uses Ubuntu), use the following commands to install the required build tools on your WSL 2 distro: sudo apt update You'll install a recent version of CMake using Visual Studio's CMake binary deployment in a later step. Install the tools necessary to build and debug on WSL 2. There's also more advanced information in this article under Advanced WSL 2 and CMake projects considerations. To learn more, see CMake Presets integration in Visual Studio and Visual Studio Code and Configure and build with CMake Presets in Visual Studio. The WSL 2 toolset is supported by CMake Presets integration in Visual Studio. ![]() To learn more about the differences between WSL 1 and WSL 2, see Comparing WSL 1 and WSL 2. It occurs automatically when Visual Studio detects you're using a WSL 2 distro. The local rsync copy doesn't require any user intervention. When targeting a WSL 2 distro, Visual Studio will execute a local rsync command to copy files from the Windows file system to the WSL file system. WSL 2 toolset backgroundĬ++ cross-platform support in Visual Studio assumes all source files originate in the Windows file system. We recommend CMake because it build and debug the same project on Windows, WSL, and remote systems.įor a video presentation of the information in this topic, see Video: Debug C++ with WSL 2 Distributions and Visual Studio 2022. CMake is our recommendation for all C++ cross-platform development with Visual Studio. Visual Studio's WSL 2 toolset supports both CMake and MSBuild-based Linux projects. You can already build and debug C++ code on WSL 1 distros using the native WSL 1 toolset introduced in Visual Studio 2019 version 16.1. Visual Studio's WSL 2 toolset allows you to use Visual Studio to build and debug C++ code on WSL 2 distros without adding a SSH connection. It provides better Linux file system performance, GUI support, and full system call compatibility. WSL 2 is the new, recommended version of the Windows Subsystem for Linux (WSL). This toolset is available now in Visual Studio 2022 version 17.0 or higher. Visual Studio 2022 introduces a native C++ toolset for Windows Subsystem for Linux version 2 (WSL 2) development. ![]()
0 Comments
Leave a Reply. |