Skip to content

Commit fb130b7

Browse files
TylerMSFTTylerMSFT
authored andcommitted
first draft
1 parent a89998f commit fb130b7

File tree

7 files changed

+35
-26
lines changed

7 files changed

+35
-26
lines changed

docs/build/projects-and-build-systems-cpp.md

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -54,41 +54,41 @@ You can invoke MSBuild from the command line by passing it a .vcxproj file along
5454

5555
## In This Section
5656

57-
[Visual Studio projects](creating-and-managing-visual-cpp-projects.md)
57+
[Visual Studio projects](creating-and-managing-visual-cpp-projects.md)\
5858
How to create, configure, and build C++ projects in Visual Studio using its native build system (MSBuild).
5959

60-
[CMake projects](cmake-projects-in-visual-studio.md)
60+
[CMake projects](cmake-projects-in-visual-studio.md)\
6161
How to code, build, and deploy CMake projects in Visual Studio.
6262

63-
[Open Folder projects](open-folder-projects-cpp.md)
64-
How to use Visual Studio to code, build and deploy C++ projects based on any arbitrary build system, or no build system. at all.
63+
[Open Folder projects](open-folder-projects-cpp.md)\
64+
How to use Visual Studio to code, build and deploy C++ projects based on any arbitrary build system, or no build system at all.
6565

66-
[Release builds](release-builds.md)
66+
[Release builds](release-builds.md)\
6767
How to create and troubleshoot optimized release builds for deployment to end users.
6868

69-
[Use the MSVC toolset from the command line](building-on-the-command-line.md)<br/>
69+
[Use the MSVC toolset from the command line](building-on-the-command-line.md)\
7070
Discusses how to use the C/C++ compiler and build tools directly from the command line rather than using the Visual Studio IDE.
7171

72-
[Building DLLs in Visual Studio](dlls-in-visual-cpp.md)
72+
[Building DLLs in Visual Studio](dlls-in-visual-cpp.md)\
7373
How to create, debug and deploy C/C++ DLLs (shared libraries) in Visual Studio.
7474

75-
[Walkthrough: Creating and Using a Static Library](walkthrough-creating-and-using-a-static-library-cpp.md)
75+
[Walkthrough: Creating and Using a Static Library](walkthrough-creating-and-using-a-static-library-cpp.md)\
7676
How to create a .lib binary file.
7777

78-
[Building C/C++ Isolated Applications and Side-by-side Assemblies](building-c-cpp-isolated-applications-and-side-by-side-assemblies.md)
78+
[Building C/C++ Isolated Applications and Side-by-side Assemblies](building-c-cpp-isolated-applications-and-side-by-side-assemblies.md)\
7979
Describes the deployment model for Windows Desktop applications, based on the idea of isolated applications and side-by-side assemblies.
8080

81-
[Configure C++ projects for 64-bit, x64 targets](configuring-programs-for-64-bit-visual-cpp.md)
81+
[Configure C++ projects for 64-bit, x64 targets](configuring-programs-for-64-bit-visual-cpp.md)\
8282
How to target 64-bit x64 hardware with the MSVC build tools.
8383

84-
[Configure C++ projects for ARM processors](configuring-programs-for-arm-processors-visual-cpp.md)
84+
[Configure C++ projects for ARM processors](configuring-programs-for-arm-processors-visual-cpp.md)\
8585
How to use the MSVC build tools to target ARM hardware.
8686

87-
[Optimizing Your Code](optimizing-your-code.md)
87+
[Optimizing Your Code](optimizing-your-code.md)\
8888
How to optimize your code in various ways including program guided optimizations.
8989

90-
[Configuring Programs for Windows XP](configuring-programs-for-windows-xp.md)
90+
[Configuring Programs for Windows XP](configuring-programs-for-windows-xp.md)\
9191
How to target Windows XP with the MSVC build tools.
9292

93-
[C/C++ Building Reference](reference/c-cpp-building-reference.md)<br/>
93+
[C/C++ Building Reference](reference/c-cpp-building-reference.md)\
9494
Provides links to reference articles about program building in C++, compiler and linker options, and various build tools.

docs/linux/configure-a-linux-project.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ You can configure a Linux project to target a physical Linux machine, a virtual
2020

2121
**Visual Studio 2019 version 16.1**:
2222

23-
- When targeting WSL, you can avoid the copy operations that are necessary for building and IntelliSense when targeting remote Linux systems.
23+
- When you target WSL, you can avoid the copy operations needed to build and get IntelliSense that are required when you target a remote Linux system.
2424

2525
- You can specify separate Linux targets for building and debugging.
2626

@@ -34,6 +34,10 @@ To view configuration options, select the **Project > Properties** menu, or righ
3434

3535
By default, an executable (.out) is built. To build a static or dynamic library, or to use an existing Makefile, use the **Configuration Type** setting.
3636

37+
If you are building for Windows Subsystem for Linux (WSL), be aware that there are some differences between WSL version 1 and 2.
38+
- Version 1 is limited to 64 parallel compilation processes. This is goverened by the Max Parallel Compilation Jobs settings in **Configuration properties > C/C++ > General** (JTW LINK).
39+
- If you intend to use more than 64 parallel compilation processes, we recommend that you build with Ninja, which generally will be faster and more reliable. This is governed by the **Enable Incremental Build** setting in **Configuration properties > General**.
40+
3741
For more information about the settings in the property pages, see [Linux Project Property Page Reference](prop-pages-linux.md).
3842

3943
## Remote settings

docs/linux/create-a-new-linux-project.md

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -48,21 +48,24 @@ When you create a new C++ project for Linux in Visual Studio, you can choose to
4848

4949
If you have an existing Windows Visual Studio solution that you would like to extend to compile for Linux, and CMake is not an option, then you can add a Visual Studio Linux project to the Windows solution, along with a **Shared Items** project. Put the code that is shared between both platforms in the Shared Items project, and add a reference to that project from the Windows and Linux projects.
5050

51-
## To create a new Linux project
51+
## Create a new Linux project
5252

5353
To create a new Linux project in Visual Studio 2019, follow these steps:
5454

55-
1. Select **File > New Project** in Visual Studio, or press **Ctrl + Shift + N**.
56-
1. Set the **Language** to **C++** and search for "Linux". Select the project type to create, and then choose **Next**. Enter a **Name** and **Location**, and choose **Create**.
55+
1. Select **File > New Project** in Visual Studio, or press **Ctrl + Shift + N**. The Create a new project dialog appears.
56+
1. Set the language drop-down to **C++**.
57+
1. Set the platform drop-down to **Linux**.
58+
1. Select the project type to create, for example **Console Application**, and then choose **Next**. Enter a **Name** and **Location**, and choose **Create**.
5759

58-
![Screenshot of the Add a new project dialog box with Linux typed in the search text box.](media/newproject-vs2019.png)
60+
![Screenshot of the new project dialog box with the language drop-down set to C++ and the platform drop-down set to Linux.](media/newproject-vs2019.png)
5961

6062
| Project Type | Description |
6163
| ------------ | --- |
62-
| **Blink (Raspberry)** | Project targeted for a Raspberry Pi device, with sample code that blinks an LED |
63-
| **Console Application (Linux)** | Project targeted for any Linux computer, with sample code that outputs text to the console |
64-
| **Empty Project (Linux)** | Project targeted for any Linux computer, with no sample code |
65-
| **Makefile Project (Linux)** | Project targeted for any Linux computer, built using a standard Makefile build system |
64+
| **Raspberry Pi project** | Project targeted for a Raspberry Pi device, with sample code that blinks an LED |
65+
| **Console Application** | Project targeted for any Linux computer, with sample code that outputs text to the console |
66+
| **Empty Project** | Project targeted for any Linux computer, with no sample code |
67+
| **Makefile Project** | Project targeted for any Linux computer, built using a standard Makefile build system |
68+
| **CMake Project** | Project targeted for any Linux computer, built using the CMake build system |
6669

6770
## Next steps
6871

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ The target machine running Fedora uses the **dnf** package installer. To downloa
151151

152152
You're now ready to create or open a Linux project and configure it to run on the target system. For more information, see:
153153

154-
- [Create a new Linux project](create-a-new-linux-project.md)
154+
- [Create a new Linux MSBuild C++ project](create-a-new-linux-project.md)
155155
- [Configure a Linux CMake project](cmake-linux-project.md)
156156

157157
::: moniker-end
-30.3 KB
Loading

docs/linux/prop-pages/c-cpp-linux.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
title: "C/C++ Properties (Linux C++)"
3-
ms.date: "06/07/2019"
3+
ms.date: "10/14/2020"
44
ms.assetid: 4bb8894b-c874-4a68-935e-b127d54e484f
55
f1_keywords: []
66
---
@@ -30,6 +30,7 @@ Linux support is available in Visual Studio 2017 and later.
3030
| C++ Compiler | Specifies the program to invoke during compilation of C++ source files, or the path to the C++ compiler on the remote system. |
3131
| Compile Timeout | Remote compilation timeout, in milliseconds. |
3232
| Copy Object Files | Specifies whether to copy the compiled object files from the remote system to the local machine. |
33+
| Max Parallel Compilation Jobs | The number of process to create in parallel during compilation. The default is 1. If you are using Windows Subsystem for Linux (WSL) version 1, then the limit is 64 ttys. |
3334

3435
## Optimization
3536

docs/linux/prop-pages/general-linux.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: "General properties (Linux C++ Project)"
33
description: "Describes the Linux project properties you can set in Visual Studio on the General properties page."
4-
ms.date: "01/14/2020"
4+
ms.date: "10/14/2020"
55
ms.assetid: 56c800a9-3df9-4196-87b2-81adb00e4767
66
---
77
# General properties (Linux C++)
@@ -27,6 +27,7 @@ Linux support is available in Visual Studio 2017 and later.
2727
| Remote Build Root Directory | Specifies a path to a directory on the remote machine or device. |
2828
| Remote Build Project Directory | Specifies a path to a directory on the remote machine or device for the project. |
2929
| Remote Deploy Directory | **Visual Studio 2019 version 16.1** Specifies the directory path on the remote machine or device to deploy the project. |
30+
| Enable Incremental Build | **Visual Studio 2019 version 16.?** Specifies whether to do incremental builds using Ninja. Builds will usually be faster for most projects with the setting enabled. |
3031
| Remote Copy Include Directories | **Visual Studio 2019 version 16.5** A list of directories to copy recursively from the Linux target. This property affects the remote header copy for IntelliSense, but not the build. It can be used when **IntelliSense Uses Compiler Defaults** is set to false. Use **Additional Include Directories** under the C/C++ General tab to specify additional include directories to use for both IntelliSense and build. |
3132
| Remote Copy Exclude Directories | **Visual Studio 2019 version 16.5** A list of directories *not* to copy from the Linux target. Usually, this property is used to remove subdirectories of the include directories. |
3233
| IntelliSense Uses Compiler Defaults | **Visual Studio 2019 version 16.5** Whether to query the compiler referenced by this project for its default list of include locations. These locations are automatically added to the list of remote directories to copy. Only set this property to false if the compiler doesn't support gcc-like parameters. Both gcc and clang compilers support queries for the include directories (for example, `g++ -x c++ -E -v -std=c++11`). |

0 commit comments

Comments
 (0)