Skip to content

Commit 0ed3904

Browse files
authored
Merge pull request #5849 from cdpark/refresh-vs-articles-5
Feature 363608: Q&M: Content Freshness for C++ Content -- batch 5
2 parents 399eef0 + 410d70c commit 0ed3904

File tree

6 files changed

+147
-130
lines changed

6 files changed

+147
-130
lines changed
Lines changed: 28 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,49 +1,53 @@
11
---
2-
description: "Learn more about: creating and configuring Visual Studio C++ projects"
3-
title: "Visual Studio Projects - C++"
4-
ms.date: 10/4/2023
2+
title: "Create and Configure Visual Studio C++ Projects"
3+
description: "Learn how to create a Visual Studio C++ project, and then add code and build your project."
4+
ms.date: 03/24/2025
5+
ms.topic: concept-article
56
helpviewer_keywords: ["Visual Studio C++ projects, creating", "projects [C++], creating", "Visual Studio C++ projects"]
67
---
7-
# Visual Studio projects - C++
8+
# Visual Studio C++ projects
89

9-
A *Visual Studio project* is a collection of code files and assets such as icons, images, and so on, that are built together using the MSBuild build system. MSBuild is the native build system for Visual Studio and is generally the best build system to use for Windows-specific programs. MSBuild is tightly integrated with Visual Studio, but you can also use it from the command line.
10+
A *Visual Studio project* is a collection of code files and assets such as icons, images, and so on, that are built together using the MSBuild system. MSBuild is the native build system for Visual Studio and is generally the best build system to use for Windows-specific programs. MSBuild is tightly integrated with Visual Studio, but you can also use it from the command line.
1011

11-
For information about upgrading MSBuild projects from older versions of Visual Studio, see the [Microsoft C++ Porting and Upgrading Guide](../porting/visual-cpp-porting-and-upgrading-guide.md).
12+
For information about upgrading MSBuild projects from older versions of Visual Studio, see the [Microsoft C++ porting and upgrading guide](../porting/visual-cpp-porting-and-upgrading-guide.md).
1213

13-
For cross-platform projects, or projects that use open-source libraries, we recommend using [CMake projects in Visual Studio](cmake-projects-in-visual-studio.md) in Visual Studio 2017 and later.
14+
For cross-platform projects, or projects that use open-source libraries, we recommend using [CMake projects in Visual Studio](cmake-projects-in-visual-studio.md).
1415

1516
## Create a Visual Studio C++ project
1617

1718
::: moniker range=">=msvc-160"
1819

1920
1. Create a C++ project by choosing **File** > **New** > **Project**.
21+
2022
1. In the **Create a new project** dialog, set the **Language** dropdown to **C++**. This filters the list of project templates to C++ projects. You can filter the templates by setting the **Platform**, **Project Type**, or by entering keywords in the search box.
2123

22-
![Screenshot of the Create a new project wizard. The Console App project template is selected.](../build/media/vs2019-choose-console-app.png)
24+
:::image type="content" source="../build/media/vs2019-choose-console-app.png" alt-text="Screenshot of the Create a new project wizard. The Console App project template is selected.":::
2325

2426
1. Select a project template, then choose **Next**.
27+
2528
1. On the **Configure your new project page**, enter project-specific settings such as the project name or location and then choose **Create** to create your project.
2629

2730
::: moniker-end
2831

2932
::: moniker range="msvc-150"
3033

3134
1. Create a C++ project by choosing **File** > **New** > **Project**.
35+
3236
1. Choose **Visual C++** in the left pane. In the center pane, a list of project templates appears:
3337

34-
![Screenshot of the New Project dialog, showing available project templates for C++ such as Windows Console Application.](../overview/media/vs2017-new-project.png "Visual Studio 2017 New Project Dialog")
38+
:::image type="content" source="../overview/media/vs2017-new-project.png" alt-text="Screenshot of the New Project dialog, showing available project templates for C++ such as Windows Console Application.":::
3539

3640
::: moniker-end
3741

3842
For more information about the default project templates included in Visual Studio, see [C++ project templates in Visual Studio](reference/visual-cpp-project-types.md).
3943

40-
You can create your own project templates. For more information, see [How to: Create project templates](/visualstudio/ide/how-to-create-project-templates).
44+
You can create your own project templates. For more information, see [Create project templates](/visualstudio/ide/how-to-create-project-templates).
4145

4246
After you create a project, it appears in the [Solution Explorer](/visualstudio/ide/solutions-and-projects-in-visual-studio) window:
4347

44-
![Screenshot of the Solution Explorer window, showing source files, header files, and resource files.](media/mathlibrary-solution-explorer-153.png)
48+
:::image type="content" source="media/mathlibrary-solution-explorer-153.png" alt-text="Screenshot of the Solution Explorer window, showing source files, header files, and resource files.":::
4549

46-
When you create a new project, a solution file (.sln) is also created. A *Visual Studio solution* is a collection of one or more projects. You can add another project to the solution by right-clicking the solution name in **Solution Explorer** > **Add** > **New project**.
50+
When you create a new project, a solution file (*`.sln`*) is also created. A *Visual Studio solution* is a collection of one or more projects. You can add another project to the solution by right-clicking the solution name in **Solution Explorer** > **Add** > **New project**.
4751

4852
The solution file coordinates build dependencies when you have multiple related projects. Compiler options are set at the project level.
4953

@@ -61,28 +65,28 @@ For more information about consuming a library that you have downloaded by using
6165
- [vcpkg in MSBuild projects](/vcpkg/users/buildsystems/msbuild-integration)
6266
- [Tutorial: Install and use packages with MSBuild in Visual Studio](/vcpkg/get_started/get-started-msbuild)
6367

64-
They're also commercial third-party libraries that you can install. Follow their installation instructions.
68+
There are also commercial third-party libraries that you can install. Follow their installation instructions.
6569

6670
## Set compiler options and build properties
6771

68-
To configure build settings for a project, right-click on the project in **Solution Explorer** and choose **Properties**. For more information, see [Set C++ compiler and build properties in Visual Studio](working-with-project-properties.md).
72+
To configure build settings for a project, right-click on the project in **Solution Explorer** and choose **Properties**. For more information, see [Set compiler and build properties](working-with-project-properties.md).
6973

7074
## Compile and run a project
7175

72-
To compile and run the new project, press **F5** or click the *debug dropdown* with the green arrow on the main toolbar. The *configuration dropdown* is where you choose whether to perform a *Debug* or *Release* build (or some other custom configuration).
76+
To compile and run the new project, press **F5** or select the *debug dropdown* with the green arrow on the main toolbar. The *configuration dropdown* is where you choose whether to perform a *Debug* or *Release* build (or some other custom configuration).
7377

7478
A new project compiles without errors. When adding your own code, you might occasionally introduce an error or trigger a warning. An error prevents the build from completing; a warning doesn't. All errors and warnings appear both in the Output Window and in the Error List when you build the project.
7579

76-
![Screenshot of the Output window and Error list, showing a syntax error for a misplaced colon.](../overview/media/vs2017-output-error-list.png)
80+
:::image type="content" source="../overview/media/vs2017-output-error-list.png" alt-text="Screenshot of the Output window and Error list, showing a syntax error for a misplaced colon.":::
7781

7882
In the **Error List**, you can press **F1** on the highlighted error to go to its documentation topic.
7983

80-
## See also
84+
## Related content
8185

82-
[Create a project from existing code](how-to-create-a-cpp-project-from-existing-code.md)\
83-
[Set C++ compiler and build properties in Visual Studio](working-with-project-properties.md)\
84-
[Custom build steps and build events](understanding-custom-build-steps-and-build-events.md)\
85-
[Reference libraries and components at build time](adding-references-in-visual-cpp-projects.md)\
86-
[Organize project output files](how-to-organize-project-output-files-for-builds.md)\
87-
[Projects and build systems](projects-and-build-systems-cpp.md)\
88-
[Microsoft C++ porting and upgrade guide](../porting/visual-cpp-porting-and-upgrading-guide.md)
86+
- [Create a project from existing code](how-to-create-a-cpp-project-from-existing-code.md)
87+
- [Set C++ compiler and build properties in Visual Studio](working-with-project-properties.md)
88+
- [Custom build steps and build events](understanding-custom-build-steps-and-build-events.md)
89+
- [Reference libraries and components at build time](adding-references-in-visual-cpp-projects.md)
90+
- [Organize project output files](how-to-organize-project-output-files-for-builds.md)
91+
- [Projects and build systems](projects-and-build-systems-cpp.md)
92+
- [Microsoft C++ porting and upgrade guide](../porting/visual-cpp-porting-and-upgrading-guide.md)

docs/linux/download-install-and-setup-the-linux-development-workload.md

Lines changed: 19 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,15 @@
11
---
2-
title: "Install the C++ Linux workload in Visual Studio"
3-
description: "How to download, install, and set up the Linux workload for C++ in Visual Studio."
4-
ms.date: "05/03/2020"
2+
title: "Install the C++ Linux Workload in Visual Studio"
3+
description: "Learn how to download, install, and set up the Linux workload for C++ in Visual Studio."
4+
ms.date: 03/25/2025
5+
ms.topic: how-to
56
ms.custom: intro-installation
67
---
78
# Download, install, and set up the Linux workload
89

910
::: moniker range="msvc-140"
1011

11-
Linux projects are supported in Visual Studio 2017 and later. To see the documentation for these versions, set the Visual Studio **Version** selector control for this article to Visual Studio 2017 or Visual Studio 2019. It's found at the top of the table of contents on this page.
12+
Linux projects are supported in Visual Studio 2017 and later. To see the documentation for these versions, set the Visual Studio **Version** selector for this article to Visual Studio 2017, Visual Studio 2019, or Visual Studio 2022. It's found at the top of the table of contents on this page.
1213

1314
::: moniker-end
1415

@@ -18,33 +19,33 @@ You can use the Visual Studio IDE on Windows to create, edit, and debug C++ proj
1819

1920
You can work on your existing code base that uses CMake without having to convert it to a Visual Studio project. If your code base is cross-platform, you can target both Windows and Linux from within Visual Studio. For example, you can edit, build, and debug your code on Windows using Visual Studio. Then, quickly retarget the project for Linux to build and debug in a Linux environment. Linux header files are automatically copied to your local machine. Visual Studio uses them to provide full IntelliSense support (Statement Completion, Go to Definition, and so on).
2021

21-
For any of these scenarios, the **Linux development with C++** workload is required.
22+
For any of these scenarios, the **Linux and embedded development with C++** workload is required.
2223

2324
::: moniker-end
2425

2526
::: moniker range=">=msvc-150"
2627

2728
## Visual Studio setup
2829

29-
1. Type "Visual Studio Installer" in the Windows search box:
30+
1. Open the Visual Studio Installer from your Start menu. If you can't find it, type *Visual Studio Installer* in the Windows search box and look for the installer under the **Apps** results.
3031

31-
![Screenshot of the Windows search box which contains the text: visual studio installer.](media/visual-studio-installer-search.png)
32+
:::image type="content" source="media/visual-studio-installer-search.png" alt-text="Screenshot of the Windows search box that contains the text visual studio installer.":::
3233

33-
1. Look for the installer under the **Apps** results and double-click it. When the installer opens, choose **Modify**, and then click on the **Workloads** tab. Scroll down to **Other toolsets** and select the **Linux development with C++** workload.
34+
1. When the installer opens, choose **Modify**, and then click on the **Workloads** tab. Scroll down to **Other toolsets** and select the **Linux and embedded development with C++** workload.
3435

35-
:::image type="complex" source="./media/linuxworkload.png" alt-text="Screenshot highlighting the Visual C++ for Linux Development workload item in Visual Studio Installer.":::
36-
The Linux Development workload is selected. The Installation details pane is highlighted, which lists what's included in the workload. Which includes: Visual Studio C++ core features, Windows Universal C runtime, Visual C++ for Linux development. An optional component is also selected: Visual C++ tools for CMake and Linux.
36+
:::image type="complex" source="./media/linux-workload.png" alt-text="Screenshot highlighting the Visual C++ for Linux and embedded development workload item in Visual Studio Installer.":::
37+
The Linux and embedded development workload is selected. The Installation details pane is highlighted, which lists what's included in the workload. Which includes: Visual Studio C++ core features, Windows Universal C runtime, Visual C++ for Linux development. An optional component is also selected: Visual C++ tools for CMake and Linux.
3738
:::image-end:::
3839

39-
1. If you're targeting IoT or embedded platforms, go to the **Installation details** pane on the right. Under **Linux development with C++**, expand **Optional Components**, and choose the components you need. CMake support for Linux is selected by default.
40+
1. If you're targeting IoT or embedded platforms, go to the **Installation details** pane on the right. Under **Linux and embedded development with C++**, expand **Optional Components**, and choose the components you need. CMake support for Linux is selected by default.
4041

4142
1. Click **Modify** to continue with the installation.
4243

4344
## Options for creating a Linux environment
4445

45-
If you don't already have a Linux machine, you can create a Linux Virtual Machine on Azure. For more information, see [Quickstart: Create a Linux virtual machine in the Azure portal](/azure/virtual-machines/linux/quick-create-portal).
46+
If you don't already have a Linux machine, you can create a Linux virtual machine on Azure. For more information, see [Quickstart: Create a Linux virtual machine in the Azure portal](/azure/virtual-machines/linux/quick-create-portal).
4647

47-
On Windows 10 and later, you can install and target your favorite Linux distro on the Windows Subsystem for Linux (WSL). For more information, see [Windows Subsystem for Linux Installation Guide for Windows 10](/windows/wsl/install-win10). If you're unable to access the Windows Store, you can [manually download the WSL distro packages](/windows/wsl/install-manual). WSL is a convenient console environment, but it's not recommended for graphical applications.
48+
On Windows 10 and later, you can install and target your favorite Linux distro on the Windows Subsystem for Linux (WSL). For more information, see [How to install Linux on Windows with WSL](/windows/wsl/install). If you're unable to access the Windows Store, you can [manually download the WSL distro packages](/windows/wsl/install-manual). WSL is a convenient console environment, but it's not recommended for graphical applications.
4849

4950
::: moniker-end
5051

@@ -103,7 +104,7 @@ The target Linux system must have **openssh-server**, **g++**, **gdb**, and **ma
103104

104105
You might be prompted for your root password to run the `sudo` command. If so, enter it and continue. Once complete, the required services and tools are installed.
105106

106-
1. Ensure the ssh service is running on your Linux computer by running:
107+
1. Ensure the ssh service is running on your Linux computer:
107108

108109
```bash
109110
sudo service ssh start
@@ -141,19 +142,17 @@ The target machine running Fedora uses the **dnf** package installer. To downloa
141142

142143
You might be prompted for your root password to run the sudo command. If so, enter it and continue. Once complete, the required services and tools are installed.
143144

144-
1. Ensure the ssh service is running on your Linux computer by running:
145+
1. Ensure the ssh service is running on your Linux computer:
145146

146147
```bash
147148
sudo systemctl start sshd
148149
```
149150

150151
This command starts the service and runs it in the background, ready to accept connections.
151152

152-
## Next Steps
153+
## Related content
153154

154-
You're now ready to create or open a Linux project and configure it to run on the target system. For more information, see:
155-
156-
- [Create a new Linux MSBuild C++ project](create-a-new-linux-project.md)
157-
- [Configure a Linux CMake project](cmake-linux-project.md)
155+
- [Create a Linux MSBuild C++ project in Visual Studio](create-a-new-linux-project.md)
156+
- [Create a CMake Linux project in Visual Studio](cmake-linux-project.md)
158157

159158
::: moniker-end
97 KB
Loading

docs/linux/media/linuxworkload.png

-78.3 KB
Binary file not shown.

0 commit comments

Comments
 (0)