You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/linux/configure-a-linux-project.md
+5-1Lines changed: 5 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -20,7 +20,7 @@ You can configure a Linux project to target a physical Linux machine, a virtual
20
20
21
21
**Visual Studio 2019 version 16.1**:
22
22
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.
24
24
25
25
- You can specify separate Linux targets for building and debugging.
26
26
@@ -34,6 +34,10 @@ To view configuration options, select the **Project > Properties** menu, or righ
34
34
35
35
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.
36
36
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
+
37
41
For more information about the settings in the property pages, see [Linux Project Property Page Reference](prop-pages-linux.md).
Copy file name to clipboardExpand all lines: docs/linux/create-a-new-linux-project.md
+11-8Lines changed: 11 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -48,21 +48,24 @@ When you create a new C++ project for Linux in Visual Studio, you can choose to
48
48
49
49
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.
50
50
51
-
## To create a new Linux project
51
+
## Create a new Linux project
52
52
53
53
To create a new Linux project in Visual Studio 2019, follow these steps:
54
54
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**.
57
59
58
-

60
+

59
61
60
62
| Project Type | Description |
61
63
| ------------ | --- |
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 |
Copy file name to clipboardExpand all lines: docs/linux/prop-pages/c-cpp-linux.md
+2-1Lines changed: 2 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
---
2
2
title: "C/C++ Properties (Linux C++)"
3
-
ms.date: "06/07/2019"
3
+
ms.date: "10/14/2020"
4
4
ms.assetid: 4bb8894b-c874-4a68-935e-b127d54e484f
5
5
f1_keywords: []
6
6
---
@@ -30,6 +30,7 @@ Linux support is available in Visual Studio 2017 and later.
30
30
| C++ Compiler | Specifies the program to invoke during compilation of C++ source files, or the path to the C++ compiler on the remote system. |
31
31
| Compile Timeout | Remote compilation timeout, in milliseconds. |
32
32
| 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. |
Copy file name to clipboardExpand all lines: docs/linux/prop-pages/general-linux.md
+2-1Lines changed: 2 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,7 @@
1
1
---
2
2
title: "General properties (Linux C++ Project)"
3
3
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"
5
5
ms.assetid: 56c800a9-3df9-4196-87b2-81adb00e4767
6
6
---
7
7
# General properties (Linux C++)
@@ -27,6 +27,7 @@ Linux support is available in Visual Studio 2017 and later.
27
27
| Remote Build Root Directory | Specifies a path to a directory on the remote machine or device. |
28
28
| Remote Build Project Directory | Specifies a path to a directory on the remote machine or device for the project. |
29
29
| 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. |
30
31
| 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. |
31
32
| 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. |
32
33
| 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