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
@@ -69,7 +69,7 @@ The following is a comprehensive alphabetical list of compiler options. For a ca
69
69
|[/H](h-restrict-length-of-external-names.md)|Deprecated. Restricts the length of external (public) names.|
70
70
|[/HELP](help-compiler-command-line-help.md)|Lists the compiler options.|
71
71
|[/homeparams](homeparams-copy-register-parameters-to-stack.md)|Forces parameters passed in registers to be written to their locations on the stack upon function entry. This compiler option is only for the x64 compilers (native and cross compile).|
72
-
|[/hotpatch](hotpatch-create-hotpatchable-image.md)|Creates a hotpatchable image.|
72
+
|[/hotpatch](hotpatch-create-hotpatchable-image.md)|Creates a hot-patchable image.|
73
73
|[/I](i-additional-include-directories.md)|Searches a directory for include files.|
74
74
|[/J](j-default-char-type-is-unsigned.md)|Changes the default `char` type.|
75
75
|[/JMC](jmc.md)|Supports native C++ Just My Code debugging.|
@@ -90,7 +90,7 @@ The following is a comprehensive alphabetical list of compiler options. For a ca
**/FD** is not exposed to users except in the [Command Line](command-line-property-pages.md) property page of a C++ project's **Property Pages** dialog box, if and only if [/Gm (Enable Minimal Rebuild)](gm-enable-minimal-rebuild.md)is not also selected. **/FD** has no effect other than from the development environment. **/FD**is not exposed in the output of **cl /?**.
10
+
**/FD** is only exposed to users in the [Command Line](command-line-property-pages.md) property page of a C++ project's **Property Pages** dialog box. It's available if and only if the deprecated and off-by-default [/Gm (Enable Minimal Rebuild)](gm-enable-minimal-rebuild.md)option isn't selected. **/FD** has no effect other than from the development environment. **/FD**isn't exposed in the output of `cl /?`.
11
11
12
-
If you do not enable **/Gm** in the development environment, **/FD**will be used. **/FD** ensures that the .idb file has sufficient dependency information. **/FD** is only used by the development environment, and it should not be used from the command line or a build script.
12
+
If you don't enable the deprecated **/Gm**option in the development environment, **/FD**is used. **/FD** ensures the .idb file has sufficient dependency information. **/FD** is only used by the development environment, and it shouldn't be used from the command line or a build script.
Copy file name to clipboardExpand all lines: docs/build/reference/file-types-created-for-visual-cpp-projects.md
+14-14Lines changed: 14 additions & 14 deletions
Original file line number
Diff line number
Diff line change
@@ -1,12 +1,12 @@
1
1
---
2
2
title: "File Types Created for Visual C++ Projects"
3
-
ms.date: "11/04/2016"
3
+
ms.date: "04/08/2019"
4
4
helpviewer_keywords: ["header files [C++], Visual Studio projects", "ActiveX controls [C++], Help files", "def files", "project items [C++], files", "Visual Studio C++ projects, files and directories", "resource files, created by wizard", "files [C++], extensions", "Help files, for ActiveX controls", "Web projects [C++], adding items", ".def files", "licensing ActiveX controls"]
5
5
ms.assetid: 2b0ee2e0-ae81-4185-9bb9-11da3c99a283
6
6
---
7
7
# File Types Created for Visual Studio C++ Projects
8
8
9
-
This topic describes all the types of files that are associated with Visual Studio projects for classic desktop applications. The actual files included in your project depend on the project type and the options you select when using a wizard.
9
+
Many types of files are associated with Visual Studio projects for classic desktop applications. The actual files included in your project depend on the project type and the options you select when using a wizard.
10
10
11
11
-[Project and Solution Files](project-and-solution-files.md)
12
12
@@ -24,9 +24,9 @@ This topic describes all the types of files that are associated with Visual Stud
24
24
25
25
-[Hint Files](hint-files.md)
26
26
27
-
When you create a Visual Studio project, you might be creating a new solution, or you might be adding a project to a solution. Non-trivial applications are commonly developed with multiple projects in a solution.
27
+
When you create a Visual Studio project, you might create it in a new solution, or you might add a project to an existing solution. Non-trivial applications are commonly developed with multiple projects in a solution.
28
28
29
-
Projects usually produce either an EXE or a DLL. Projects can be dependent on each other; during the build process, the Visual Studio environment checks dependencies both within and between projects. Each project has core source code, and depending on the kind of project, it may have many other files containing various aspects of the project. The contents of these files are indicated by the file extension. The Visual Studio development environment uses the file extensions to determine how to handle the file contents during a build.
29
+
Projects usually produce either an EXE or a DLL. Projects can be dependent on each other; during the build process, the Visual Studio environment checks dependencies both within and between projects. Each project usually has core source code. Depending on the kind of project, it may have many other files containing various aspects of the project. The contents of these files are indicated by the file extension. The Visual Studio development environment uses the file extensions to determine how to handle the file contents during a build.
30
30
31
31
The following table shows common files in a Visual Studio project, and identifies them with their file extension.
32
32
@@ -46,11 +46,11 @@ The following table shows common files in a Visual Studio project, and identifie
46
46
|.htm, .html, .xsp, .asp, .htc, .hta, .xml|Resource|Common Web files.|
47
47
|.HxC|Project|Help project file.|
48
48
|.ico|Resource|Icon bitmap graphic file.|
49
-
|.idb|Compiling|The state file, containing dependency information between source files and class definitions, which can be used by the compiler during minimal rebuild and incremental compilation. Use the [/Fd](fd-program-database-file-name.md) compiler option to specify the name of the .idb file. See [/Gm (Enable Minimal Rebuild)](gm-enable-minimal-rebuild.md) for more information.|
50
-
|.idl|Compiling|An interface definition language file. See [Interface Definition (IDL) File](/windows/desktop/Rpc/the-interface-definition-language-idl-file) in the Windows SDK for more information.|
51
-
|.ilk|Linking|Incremental link file. See [/INCREMENTAL](incremental-link-incrementally.md) for more information.|
52
-
|.map|Linking|A text file containing linker information. Use the [/Fm](fm-name-mapfile.md) compiler option to name the map file. See [/MAP](map-generate-mapfile.md) for more information.|
53
-
|.mfcribbon-ms|Resource|A resource file that contains the XML code that defines the buttons, controls, and attributes in the ribbon. For more information, see [Ribbon Designer (MFC)](../../mfc/ribbon-designer-mfc.md).|
49
+
|.idb|Compiling|The state file, containing dependency information between source files and class definitions. It can be used by the compiler during incremental compilation. Use the [/Fd](fd-program-database-file-name.md) compiler option to specify the name of the .idb file.|
50
+
|.idl|Compiling|An interface definition language file. For more information, see [Interface Definition (IDL) File](/windows/desktop/Rpc/the-interface-definition-language-idl-file) in the Windows SDK.|
51
+
|.ilk|Linking|Incremental link file. For more information, see [/INCREMENTAL](incremental-link-incrementally.md).|
52
+
|.map|Linking|A text file containing linker information. Use the [/Fm](fm-name-mapfile.md) compiler option to name the map file. For more information, see [/MAP](map-generate-mapfile.md).|
53
+
|.mfcribbon-ms|Resource|A resource file that contains the XML code that defines the MFC buttons, controls, and attributes in the ribbon. For more information, see [Ribbon Designer](../../mfc/ribbon-designer-mfc.md).|
54
54
|.obj, .o||Object files, compiled but not linked.|
55
55
|.pch|Debug|Precompiled header file.|
56
56
|.rc, .rc2|Resource|[Resource script files](../../windows/working-with-resource-files.md) to generate resources.|
@@ -61,18 +61,18 @@ The following table shows common files in a Visual Studio project, and identifie
61
61
|.vap|Project|A Visual Studio Analyzer project file.|
|.vcxitems|Project|Shared Items project for sharing code files between multiple C++ projects. See [Project and Solution Files](project-and-solution-files.md) for more information.|
65
-
|.vcxproj|Project|The Visual Studio project file. See [Project and Solution Files](project-and-solution-files.md) for more information.|
66
-
|.vcxproj.filters|Project|When Solution Explorer is used to add a file to a project, the filters file defines where in the Solution Explorer tree view the file is added, based on its file name extension.|
64
+
|.vcxitems|Project|Shared Items project for sharing code files between multiple C++ projects. For more information, see [Project and Solution Files](project-and-solution-files.md).|
65
+
|.vcxproj|Project|The Visual Studio project file. For more information, see [Project and Solution Files](project-and-solution-files.md).|
66
+
|.vcxproj.filters|Project|Used when you use Solution Explorer to add a file to a project. The filters file defines where in the Solution Explorer tree view to add the file, based on its file name extension.|
67
67
|.vdproj|Project|The Visual Studio deployment project file.|
68
68
|.vmx|Project|The macro project file.|
69
69
|.vup|Project|The utility project file.|
70
70
71
71
For information on other files associated with Visual Studio, see [File Types and File Extensions in Visual Studio .NET](/visualstudio/ide/reference/project-and-solution-file-types).
72
72
73
-
Project files are organized into folders in Solution Explorer. Visual Studio creates a folder for source files, header files, and resource files, but you can reorganize these folders or create new ones. You can use folders to organize explicitly logical clusters of files within the hierarchy of a project. For example, you could create folders to contain all your user interface source files, or specifications, documentation, or test suites. All file folder names should be unique.
73
+
Project files are organized into folders in Solution Explorer. Visual Studio creates a folder for source files, header files, and resource files, but you can reorganize these folders or create new ones. You can use folders to organize explicitly logical clusters of files within the hierarchy of a project. For example, you could create folders to contain all your user interface source files. Or, folders for specifications, documentation, or test suites. All file folder names should be unique.
74
74
75
-
When you add an item to a project, you add the item to all configurations for that project, regardless of whether or not the item is buildable. For example, if you have a project named MyProject, adding an item adds it to both the Debug and Release project configurations.
75
+
When you add an item to a project, you add the item to all configurations for that project. The item is added whether it's buildable or not. For example, if you have a project named MyProject, adding an item adds it to both the Debug and Release project configurations.
|[#import](../../preprocessor/hash-import-directive-cpp.md) preprocessor directive|Converts the types in a type library into C++ classes, and then writes those classes to a header file.|
42
42
|[/E](e-preprocess-to-stdout.md), [/EP](ep-preprocess-to-stdout-without-hash-line-directives.md)|Copies preprocessor output to the standard output (**stdout**).|
43
-
|[/Gm](gm-enable-minimal-rebuild.md)|Enables an incremental rebuild.|
43
+
|[/Gm](gm-enable-minimal-rebuild.md)|Deprecated. Enables an incremental rebuild.|
44
44
|[/showIncludes](showincludes-list-include-files.md)|Writes a list of include files to the standard error (**stderr**).|
45
45
|[/Yc](yc-create-precompiled-header-file.md)|Writes a precompiled header file.|
46
46
@@ -114,10 +114,6 @@ The guideline for deciding whether to use MSBuild or **/MP** technology is as fo
114
114
115
115
- If the number of projects and files per project is balanced, use both MSBuild and **/MP**. Initially set the **/maxcpucount** option to the number of projects to build and the **/MP** option to the number of processors on your computer. Measure performance and then adjust your settings to yield the best results. Repeat that cycle until you are satisfied with the total build time.
116
116
117
-
#### The /Gm Compiler Option
118
-
119
-
By default, a project build enables the **/Gm** compiler option (incremental builds) for debug builds, and disables it for release builds. Therefore, the **/MP** compiler option is automatically disabled in debug builds because it conflicts with the default **/Gm** compiler option.
@@ -26,7 +26,7 @@ The **/Z7** option produces object files that also contain full symbolic debuggi
26
26
27
27
For distributors of debug versions of third-party libraries, there is an advantage to not having a PDB file. However, the object files for any precompiled headers are necessary during the library link phase, and for debugging. If there is only type information (and no code) in the .pch object file, you must also use the [/Yl (Inject PCH Reference for Debug Library)](yl-inject-pch-reference-for-debug-library.md) option, which is enabled by default, when you build the library.
28
28
29
-
The [/Gm (Enable Minimal Rebuild)](gm-enable-minimal-rebuild.md) option is not available when **/Z7** is specified.
29
+
The deprecated [/Gm (Enable Minimal Rebuild)](gm-enable-minimal-rebuild.md) option is not available when **/Z7** is specified.
@@ -31,7 +31,7 @@ When you specify the **/ZW** option, the compiler supports these features:
31
31
32
32
- Automatic reference-counting of Windows Runtime objects, and automatic discarding of an object when its reference count goes to zero.
33
33
34
-
Because the incremental linker does not support the Windows metadata included in .obj files by using the **/ZW** option, the [/Gm (Enable Minimal Rebuild)](gm-enable-minimal-rebuild.md) option is incompatible with **/ZW**.
34
+
Because the incremental linker does not support the Windows metadata included in .obj files by using the **/ZW** option, the deprecated [/Gm (Enable Minimal Rebuild)](gm-enable-minimal-rebuild.md) option is incompatible with **/ZW**.
35
35
36
36
For more information, see [Visual C++ Language Reference](../../cppcx/visual-c-language-reference-c-cx.md).
minimal rebuild failure, reverting to normal build
10
+
> minimal rebuild failure, reverting to normal build
11
11
12
12
The project .idb file is corrupt. Delete the file and rebuild.
13
13
14
-
For more information on minimal rebuilds and the .idb file, see the [/Gm compiler option](../../build/reference/gm-enable-minimal-rebuild.md).
14
+
For more information on minimal rebuilds and the .idb file, see the deprecated [/Gm compiler option](../../build/reference/gm-enable-minimal-rebuild.md).
0 commit comments