This repository has been archived by the owner on May 26, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathlinkflags.xml
234 lines (232 loc) · 45.3 KB
/
linkflags.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
<?xml version="1.0" encoding="utf-8"?>
<!--Copyright, Microsoft Corporation, All rights reserved.-->
<Rule Name="linkflags"
PageTemplate="tool"
DisplayName="Linker"
SwitchPrefix="/"
Order="40"
xmlns="http://schemas.microsoft.com/build/2009/properties" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:sys="clr-namespace:System;assembly=mscorlib">
<Rule.Categories>
<Category Name="General" DisplayName="General" />
<Category Name="Input" DisplayName="Input" />
<Category Name="Manifest File" DisplayName="Manifest File" />
<Category Name="Debugging" DisplayName="Debugging" />
<Category Name="System" DisplayName="System" />
<Category Name="Optimization" DisplayName="Optimization" />
<Category Name="Embedded IDL" DisplayName="Embedded IDL" />
<Category Name="Windows Metadata" DisplayName="Windows Metadata" />
<Category Name="Advanced" DisplayName="Advanced" />
<Category Name="All Options" DisplayName="All Options" Subtype="Search" />
<Category Name="Command Line" DisplayName="Command Line" Subtype="CommandLine" />
</Rule.Categories>
<Rule.DataSource>
<DataSource Persistence="ProjectFile" Label="linkflags" HasConfigurationCondition="true" />
</Rule.DataSource>
<StringProperty Subtype="file" Name="LinkOutputFile" DisplayName="Output File" Description="The /OUT option overrides the default name and location of the program that the linker creates." Category="General" Switch="OUT" Separator=":" F1Keyword="VC.Project.VCLinkerTool.OutputFile">
</StringProperty>
<EnumProperty Name="LinkShowProgress" DisplayName="Show Progress" Description="Prints Linker Progress Messages" Category="General" F1Keyword="VC.Project.VCLinkerTool.ShowProgress">
<EnumValue Name="LinkNotSet" Switch="" DisplayName="Not Set" Description="No verbosity."></EnumValue>
<EnumValue Name="LinkVerbose" Switch="VERBOSE" DisplayName="Display all progress messages" Description="Displays all progress messages. "></EnumValue>
<EnumValue Name="LinkVerboseLib" Switch="VERBOSE:Lib" DisplayName="For Libraries Searched" Description="Displays progress messages indicating just the libraries searched."></EnumValue>
<EnumValue Name="LinkVerboseICF" Switch="VERBOSE:ICF" DisplayName="About COMDAT folding during optimized linking" Description="Displays information about COMDAT folding during optimized linking."></EnumValue>
<EnumValue Name="LinkVerboseREF" Switch="VERBOSE:REF" DisplayName="About data removed during optimized linking" Description="Displays information about functions and data removed during optimized linking."></EnumValue>
<EnumValue Name="LinkVerboseSAFESEH" Switch="VERBOSE:SAFESEH" DisplayName="About Modules incompatible with SEH" Description="Displays information about modoules incompatible with Safe Exception Handling."></EnumValue>
<EnumValue Name="LinkVerboseCLR" Switch="VERBOSE:CLR" DisplayName="About linker activity related to managed code" Description="Display information about linker activity related to managed code."></EnumValue>
</EnumProperty>
<StringProperty Name="LinkVersion" DisplayName="Version" Description="The /VERSION option tells the linker to put a version number in the header of the .exe or .dll file. Use DUMPBIN /HEADERS to see the image version field of the OPTIONAL HEADER VALUES to see the effect of /VERSION." Category="General" Switch="VERSION" Separator=":" F1Keyword="VC.Project.VCLinkerTool.Version"></StringProperty>
<BoolProperty ReverseSwitch="INCREMENTAL:NO" Name="LinkIncremental" DisplayName="Enable Incremental Linking" Description="Enables incremental linking. (/INCREMENTAL, /INCREMENTAL:NO)" Category="General" Switch="INCREMENTAL" F1Keyword="VC.Project.VCLinkerTool.LinkIncremental"></BoolProperty>
<BoolProperty Name="LinkSuppressStartupBanner" DisplayName="Suppress Startup Banner" Description="The /NOLOGO option prevents display of the copyright message and version number. " Category="General" Switch="NOLOGO" F1Keyword="VC.Project.VCLinkerTool.SuppressStartupBanner"></BoolProperty>
<BoolProperty Name="LinkIgnoreImportLibrary" DisplayName="Ignore Import Library" Description="Specifies that the import library generated by this configuration should not be imported into dependent projects." Category="General" F1Keyword="VC.Project.VCLinkerTool.IgnoreImportLibrary"></BoolProperty>
<BoolProperty Name="LinkRegisterOutput" DisplayName="Register Output" Description="Specifies whether to register the primary output of this build." Category="General" IncludeInCommandLine="false" F1Keyword="VC.Project.VCLinkerTool.RegisterOutput"></BoolProperty>
<BoolProperty Name="LinkPerUserRedirection" DisplayName="Per-user Redirection" Description="When Register Output is enabled, Per-user redirection forces registry writes to HKEY_CLASSES_ROOT to be redirected to HKEY_CURRENT_USER." Category="General" IncludeInCommandLine="false" F1Keyword="VC.Project.VCLinkerTool.PerUserRedirection"></BoolProperty>
<StringListProperty Subtype="folder" Name="LinkAdditionalLibraryDirectories" DisplayName="Additional Library Directories" Description="Allows the user to override the environmental library path. (/LIBPATH:folder)" Category="General" Switch="LIBPATH:" F1Keyword="VC.Project.VCLinkerTool.AdditionalLibraryDirectories"></StringListProperty>
<BoolProperty Name="LinkUseLibraryDependencyInputs" DisplayName="Use Library Dependency Inputs" Description="Specifies whether or not the inputs to the librarian tool are used rather than the library file itself when linking in library outputs of project dependencies." Category="General" IncludeInCommandLine="false" F1Keyword="VC.Project.VCLinkerTool.UseLibraryDependencyInputs"></BoolProperty>
<BoolProperty ReverseSwitch="LTCG:NOSTATUS" Name="LinkStatus" DisplayName="Link Status" Description="Specifies whether the linker should display a progress indicator showing what percentage of the link is complete. The default is to not display this status information. (/LTCG:STATUS|LTCG:NOSTATUS)" Category="General" Switch="LTCG:STATUS" F1Keyword="VC.Project.VCLinkerTool.LinkStatus"></BoolProperty>
<BoolProperty ReverseSwitch="ALLOWBIND:NO" Name="LinkPreventDllBinding" DisplayName="Prevent Dll Binding" Description="/ALLOWBIND:NO sets a bit in a DLL's header that indicates to Bind.exe that the image is not allowed to be bound. You may not want a DLL to be bound if it has been digitally signed (binding invalidates the signature)." Category="General" Switch="ALLOWBIND" F1Keyword="VC.Project.VCLinkerTool.PreventDLLBinding"></BoolProperty>
<BoolProperty ReverseSwitch="WX:NO" Name="LinkTreatLinkerWarningAsErrors" DisplayName="Treat Linker Warning As Errors" Description="/WX causes no output file to be generated if the linker generates a warning." Category="General" Switch="WX" F1Keyword="VC.Project.VCLinkerTool.TreatLinkerWarningsAsErrors"></BoolProperty>
<EnumProperty Name="LinkForceFileOutput" DisplayName="Force File Output" Description="The /FORCE option tells the linker to create an .exe file or DLL even if a symbol is referenced but not defined or is multiply defined. It may create invalid exe file." Category="General" F1Keyword="VC.Project.VCLinkerTool.ForceFileOutput">
<EnumValue Name="LinkEnabled" Switch="FORCE" DisplayName="Enabled" Description="/FORCE with no arguments implies both multiple and unresolved."></EnumValue>
<EnumValue Name="LinkMultiplyDefinedSymbolOnly" Switch="FORCE:MULTIPLE" DisplayName="Multiply Defined Symbol Only" Description="Use /FORCE:MULTIPLE to create an output file whether or not LINK finds more than one definition for a symbol."></EnumValue>
<EnumValue Name="LinkUndefinedSymbolOnly" Switch="FORCE:UNRESOLVED" DisplayName="Undefined Symbol Only" Description="Use /FORCE:UNRESOLVED to create an output file whether or not LINK finds an undefined symbol. /FORCE:UNRESOLVED is ignored if the entry point symbol is unresolved."></EnumValue>
</EnumProperty>
<EnumProperty Name="LinkCreateHotPatchableImage" DisplayName="Create Hot Patchable Image" Description="Prepares an image for hotpatching." Category="General" F1Keyword="VC.Project.VCLinkerTool.CreateHotPatchableImage">
<EnumValue Name="LinkEnabled" Switch="FUNCTIONPADMIN" DisplayName="Enabled" Description="Prepares an image for hotpatching."></EnumValue>
<EnumValue Name="LinkX86Image" Switch="FUNCTIONPADMIN:5" DisplayName="X86 Image Only" Description="Prepares an X86 image for hotpatching."></EnumValue>
<EnumValue Name="LinkX64Image" Switch="FUNCTIONPADMIN:6" DisplayName="X64 Image Only" Description="Prepares an X64 image for hotpatching."></EnumValue>
<EnumValue Name="LinkItaniumImage" Switch="FUNCTIONPADMIN:16" DisplayName="Itanium Image Only" Description="Prepares an Itanium image for hotpatching."></EnumValue>
</EnumProperty>
<StringProperty Name="LinkSpecifySectionAttributes" DisplayName="Specify Section Attributes" Description="The /SECTION option changes the attributes of a section, overriding the attributes set when the .obj file for the section was compiled." Category="General" Switch="SECTION" Separator=":" F1Keyword="VC.Project.VCLinkerTool.SpecifySectionAttributes"></StringProperty>
<StringProperty Subtype="file" Name="LinkMSDOSStubFileName" DisplayName="MS-DOS Stub File Name" Description="The /STUB option attaches an MS-DOS stub program to a Win32 program. " Category="General" Switch="STUB" Separator=":" Visible="false"></StringProperty>
<StringProperty Subtype="folder" Name="LinkTrackerLogDirectory" DisplayName="Tracker Log Directory" Description="Tracker log directory." Category="General" IncludeInCommandLine="false" Visible="false"></StringProperty>
<StringListProperty Subtype="file" Name="LinkAdditionalDependencies" DisplayName="Additional Dependencies" Description="Specifies additional items to add to the link command line. [i.e. kernel32.lib] " Category="Input" F1Keyword="VC.Project.VCLinkerTool.AdditionalDependencies"></StringListProperty>
<BoolProperty Name="LinkIgnoreAllDefaultLibraries" DisplayName="Ignore All Default Libraries" Description="The /NODEFAULTLIB option tells the linker to remove one or more default libraries from the list of libraries it searches when resolving external references. " Category="Input" Switch="NODEFAULTLIB" F1Keyword="VC.Project.VCLinkerTool.IgnoreAllDefaultLibraries"></BoolProperty>
<StringListProperty Subtype="file" Name="LinkIgnoreSpecificDefaultLibraries" DisplayName="Ignore Specific Default Libraries" Description="Specifies one or more names of default libraries to ignore; separate multiple libraries with semi-colons. (/NODEFAULTLIB:[name, name, ...])" Category="Input" Switch="NODEFAULTLIB:" F1Keyword="VC.Project.VCLinkerTool.IgnoreDefaultLibraryNames"></StringListProperty>
<StringProperty Subtype="file" Name="LinkModuleDefinitionFile" DisplayName="Module Definition File" Description="The /DEF option passes a module-definition file (.def) to the linker. Only one .def file can be specified to LINK. " Category="Input" Switch="DEF" Separator=":" F1Keyword="VC.Project.VCLinkerTool.ModuleDefinitionFile"></StringProperty>
<StringListProperty Subtype="file" Name="LinkAddModuleNamesToAssembly" DisplayName="Add Module to Assembly" Description="The /ASSEMBLYMODULE option allows you to add a module reference to an assembly. Type information in the module will not be available to the assembly program that added the module reference. However, type information in the module will be available to any program that references the assembly." Category="Input" Switch="ASSEMBLYMODULE:" F1Keyword="VC.Project.VCLinkerTool.AddModuleNamesToAssembly"></StringListProperty>
<StringListProperty Subtype="file" Name="LinkEmbedManagedResourceFile" DisplayName="Embed Managed Resource File" Description="/ASSEMBLYRESOURCE embeds a resource file in the output file." Category="Input" Switch="ASSEMBLYRESOURCE:" F1Keyword="VC.Project.VCLinkerTool.EmbedManagedResourceFile"></StringListProperty>
<StringListProperty Subtype="file" Name="LinkForceSymbolReferences" DisplayName="Force Symbol References" Description="The /INCLUDE option tells the linker to add a specified symbol to the symbol table." Category="Input" Switch="INCLUDE:" F1Keyword="VC.Project.VCLinkerTool.ForceSymbolReferences"></StringListProperty>
<StringListProperty Subtype="file" Name="LinkDelayLoadDLLs" DisplayName="Delay Loaded Dlls" Description="The /DELAYLOAD option causes delayed loading of DLLs. The dllname specifies a DLL to delay load. " Category="Input" Switch="DELAYLOAD:" F1Keyword="VC.Project.VCLinkerTool.DelayLoadDLLS"></StringListProperty>
<StringListProperty Subtype="file" Name="LinkAssemblyLinkResource" DisplayName="Assembly Link Resource" Description="The /ASSEMBLYLINKRESOURCE option creates a link to a .NET Framework resource in the output file; the resource file is not placed in the output file. " Category="Input" Switch="ASSEMBLYLINKRESOURCE:" F1Keyword="VC.Project.VCLinkerTool.AssemblyLinkResource"></StringListProperty>
<BoolProperty ReverseSwitch="MANIFEST:NO" Name="LinkGenerateManifest" DisplayName="Generate Manifest" Description="/MANIFEST specifies that the linker should create a side-by-side manifest file." Category="Manifest File" Switch="MANIFEST" F1Keyword="VC.Project.VCLinkerTool.GenerateManifest"></BoolProperty>
<StringProperty Subtype="file" Name="LinkManifestFile" DisplayName="Manifest File" Description="/MANIFESTFILE lets you change the default name of the manifest file. The default name of the manifest file is the file name with .manifest appended." Category="Manifest File" Switch="ManifestFile" Separator=":" F1Keyword="VC.Project.VCLinkerTool.ManifestFile"></StringProperty>
<StringListProperty Subtype="file" Name="LinkAdditionalManifestDependencies" DisplayName="Additional Manifest Dependencies" Description="/MANIFESTDEPENDENCY lets you specify attributes that will be placed in the dependency section of the manifest file." Category="Manifest File" Switch="MANIFESTDEPENDENCY:" F1Keyword="VC.Project.VCLinkerTool.AdditionalManifestDependencies"></StringListProperty>
<BoolProperty ReverseSwitch="ALLOWISOLATION:NO" Name="LinkAllowIsolation" DisplayName="Allow Isolation" Description="Specifies behavior for manifest lookup. (/ALLOWISOLATION:NO)" Category="Manifest File" F1Keyword="VC.Project.VCLinkerTool.AllowIsolation"></BoolProperty>
<BoolProperty ReverseSwitch="MANIFESTUAC:NO" Name="LinkEnableUAC" DisplayName="Enable User Account Control (UAC)" Description="Specifies whether or not User Account Control is enabled. (/MANIFESTUAC, /MANIFESTUAC:NO)" Category="Manifest File" Switch="MANIFESTUAC:" F1Keyword="VC.Project.VCLinkerTool.EnableUAC">
<Argument Property="UACExecutionLevel" IsRequired="true" />
<Argument Property="UACUIAccess" IsRequired="true" Separator=" " />
</BoolProperty>
<EnumProperty Name="LinkUACExecutionLevel" DisplayName="UAC Execution Level" Description="Specifies the requested execution level for the application when running with User Account Control. (/MANIFESTUAC:level=[value])" SwitchPrefix="" Category="Manifest File" F1Keyword="VC.Project.VCLinkerTool.UACExecutionLevel">
<EnumValue Name="LinkAsInvoker" Switch="level='asInvoker'" DisplayName="asInvoker" Description="UAC Execution Level: as invoker."></EnumValue>
<EnumValue Name="LinkHighestAvailable" Switch="level='highestAvailable'" DisplayName="highestAvailable" Description="UAC Execution Level: highest available."></EnumValue>
<EnumValue Name="LinkRequireAdministrator" Switch="level='requireAdministrator'" DisplayName="requireAdministrator" Description="UAC Execution Level: require administrator."></EnumValue>
</EnumProperty>
<BoolProperty ReverseSwitch="uiAccess='false'" Name="LinkUACUIAccess" DisplayName="UAC Bypass UI Protection" Description="UAC Bypass UI Protection : Specifies whether or not to bypass user interface protection levels for other windows on the desktop. Set this property to 'Yes' only for accessibility applications. (/MANIFESTUAC:uiAccess=[true | false])" SwitchPrefix="" Category="Manifest File" Switch="uiAccess='true'" F1Keyword="VC.Project.VCLinkerTool.UACUIAccess"></BoolProperty>
<BoolProperty Name="LinkManifestEmbed" DisplayName="Embed Manifest" Description="Specifies if the manifest file should be embedded in the assembly or created as a stand-alone file." Category="Manifest File" Switch="manifest:embed" Visible="false" F1Keyword="VC.Project.VCLinkerTool.ManifestEmbed"></BoolProperty>
<StringListProperty Subtype="folder" Name="LinkManifestInput" DisplayName="Manifest Input" Description="Used to specify manifests that need to be embedded." Category="Manifest File" Switch="manifestinput:" Visible="false" F1Keyword="VC.Project.VCLinkerTool.ManifestInput"></StringListProperty>
<EnumProperty Name="LinkGenerateDebugInformation" DisplayName="Generate Debug Info" Description="This option enables creation of debugging information for the .exe file or the DLL." Category="Debugging" F1Keyword="VC.Project.VCLinkerTool.GenerateDebugInformation">
<EnumValue Name="LinkNo" Switch="" DisplayName="No" Description="Produces no debugging information."></EnumValue>
<EnumValue Name="LinkDebug" Switch="DEBUG" DisplayName="Optimize for debugging" Description="Create a complete Program Database (PDB) ideal for distribution to Microsoft Symbol Server."></EnumValue>
<EnumValue Name="LinkDebugFastLink" Switch="DEBUG:FASTLINK" DisplayName="Optimize for faster linking" Description="Produces a program database (PDB) ideal for edit-link-debug cycle. "></EnumValue>
</EnumProperty>
<StringProperty Subtype="file" Name="LinkProgramDatabaseFile" DisplayName="Generate Program Database File" Description="By default, when /DEBUG is specified, the linker creates a program database (PDB) which holds debugging information. The default file name for the PDB has the base name of the program and the extension .pdb." Category="Debugging" Switch="PDB" Separator=":" F1Keyword="VC.Project.VCLinkerTool.ProgramDatabaseFile"></StringProperty>
<StringProperty Subtype="file" Name="LinkStripPrivateSymbols" DisplayName="Strip Private Symbols" Description="The /PDBSTRIPPED option creates a second program database (PDB) file when you build your program image with any of the compiler or linker options that generate a PDB file (/DEBUG, /Z7, /Zd, or /Zi)." Category="Debugging" Switch="PDBSTRIPPED" Separator=":" F1Keyword="VC.Project.VCLinkerTool.StripPrivateSymbols"></StringProperty>
<BoolProperty Name="LinkGenerateMapFile" DisplayName="Generate Map File" Description="The /MAP option tells the linker to create a mapfile." Category="Debugging" Switch="MAP" F1Keyword="VC.Project.VCLinkerTool.GenerateMapFile">
<Argument Property="MapFileName" IsRequired="false" />
</BoolProperty>
<StringProperty Subtype="file" Name="LinkMapFileName" DisplayName="Map File Name" Description="A user-specified name for the mapfile. It replaces the default name." Category="Debugging" Separator=":" F1Keyword="VC.Project.VCLinkerTool.MapFileName"></StringProperty>
<BoolProperty Name="LinkMapExports" DisplayName="Map Exports" Description="The /MAPINFO option tells the linker to include the specified information in a mapfile, which is created if you specify the /MAP option. EXPORTS tells the linker to include exported functions." Category="Debugging" Switch="MAPINFO:EXPORTS" F1Keyword="VC.Project.VCLinkerTool.MapExports"></BoolProperty>
<BoolProperty ReverseSwitch="ASSEMBLYDEBUG:DISABLE" Name="LinkAssemblyDebug" DisplayName="Debuggable Assembly" Description="/ASSEMBLYDEBUG emits the DebuggableAttribute attribute with debug information tracking and disables JIT optimizations." Category="Debugging" Switch="ASSEMBLYDEBUG" F1Keyword="VC.Project.VCLinkerTool.AssemblyDebug"></BoolProperty>
<EnumProperty Name="LinkSubSystem" DisplayName="SubSystem" Description="The /SUBSYSTEM option tells the operating system how to run the .exe file.The choice of subsystem affects the entry point symbol (or entry point function) that the linker will choose." Category="System" F1Keyword="VC.Project.VCLinkerTool.SubSystem">
<EnumProperty.Arguments>
<Argument Property="MinimumRequiredVersion" IsRequired="false" />
</EnumProperty.Arguments>
<EnumValue Name="LinkNotSet" Switch="" DisplayName="Not Set" Description="No subsystem set."></EnumValue>
<EnumValue Name="LinkConsole" Switch="SUBSYSTEM:CONSOLE" DisplayName="Console" Description="Win32 character-mode application. Console applications are given a console by the operating system. If main or wmain is defined, CONSOLE is the default."></EnumValue>
<EnumValue Name="LinkWindows" Switch="SUBSYSTEM:WINDOWS" DisplayName="Windows" Description="Application does not require a console, probably because it creates its own windows for interaction with the user. If WinMain or wWinMain is defined, WINDOWS is the default."></EnumValue>
<EnumValue Name="LinkNative" Switch="SUBSYSTEM:NATIVE" DisplayName="Native" Description="Device drivers for Windows NT. If /DRIVER:WDM is specified, NATIVE is the default."></EnumValue>
<EnumValue Name="LinkEFI Application" Switch="SUBSYSTEM:EFI_APPLICATION" DisplayName="EFI Application" Description="EFI Application."></EnumValue>
<EnumValue Name="LinkEFI Boot Service Driver" Switch="SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER" DisplayName="EFI Boot Service Driver" Description="EFI Boot Service Driver."></EnumValue>
<EnumValue Name="LinkEFI ROM" Switch="SUBSYSTEM:EFI_ROM" DisplayName="EFI ROM" Description="EFI ROM."></EnumValue>
<EnumValue Name="LinkEFI Runtime" Switch="SUBSYSTEM:EFI_RUNTIME_DRIVER" DisplayName="EFI Runtime" Description="EFI Runtime."></EnumValue>
<EnumValue Name="LinkPOSIX" Switch="SUBSYSTEM:POSIX" DisplayName="POSIX" Description="Application that runs with the POSIX subsystem in Windows NT."></EnumValue>
</EnumProperty>
<StringProperty Name="LinkMinimumRequiredVersion" DisplayName="Minimum Required Version" Description="Specify the minimum required version of the subsystem. The arguments are decimal numbers in the range 0 through 65,535." Category="System" Separator="," F1Keyword="VC.Project.VCLinkerTool.MinimumRequiredVersion"></StringProperty>
<StringProperty Name="LinkHeapReserveSize" DisplayName="Heap Reserve Size" Description="Specifies total heap allocation size in virtual memory. Default is 1MB. (/HEAP:reserve)" Category="System" Switch="HEAP" Separator=":" F1Keyword="VC.Project.VCLinkerTool.HeapReserveSize">
<Argument Property="HeapCommitSize" IsRequired="false" Separator="," />
</StringProperty>
<StringProperty Name="LinkHeapCommitSize" DisplayName="Heap Commit Size" Description="Specifies total heap allocation size in physical memory. Default is 4KB. (/HEAP:reserve,commit)" Category="System" F1Keyword="VC.Project.VCLinkerTool.HeapCommitSize"></StringProperty>
<StringProperty Name="LinkStackReserveSize" DisplayName="Stack Reserve Size" Description="Specifies the total stack allocation size in virtual memory. Default is 1MB. (/STACK:reserve)" Category="System" Switch="STACK" Separator=":" F1Keyword="VC.Project.VCLinkerTool.StackReserveSize">
<Argument Property="StackCommitSize" IsRequired="false" Separator="," />
</StringProperty>
<StringProperty Name="LinkStackCommitSize" DisplayName="Stack Commit Size" Description="Specifies the total stack allocation size in physical memory. Default is 4KB. (/STACK:reserve,commit)" Category="System" F1Keyword="VC.Project.VCLinkerTool.StackCommitSize"></StringProperty>
<BoolProperty ReverseSwitch="LARGEADDRESSAWARE:NO" Name="LinkLargeAddressAware" DisplayName="Enable Large Addresses" Description="The /LARGEADDRESSAWARE option tells the linker that the application can handle addresses larger than 2 gigabytes. By default, /LARGEADDRESSAWARE:NO is enabled if /LARGEADDRESSAWARE is not otherwise specified on the linker line." Category="System" Switch="LARGEADDRESSAWARE" F1Keyword="VC.Project.VCLinkerTool.LargeAddressAware"></BoolProperty>
<BoolProperty ReverseSwitch="TSAWARE:NO" Name="LinkTerminalServerAware" DisplayName="Terminal Server" Description="The /TSAWARE option sets a flag in the IMAGE_OPTIONAL_HEADER DllCharacteristics field in the program image's optional header. When this flag is set, Terminal Server will not make certain changes to the application." Category="System" Switch="TSAWARE" F1Keyword="VC.Project.VCLinkerTool.TerminalServerAware"></BoolProperty>
<BoolProperty Name="LinkSwapRunFromCD" DisplayName="Swap Run From CD" Description="The /SWAPRUN option tells the operating system to first copy the linker output to a swap file, and then run the image from there. This is a Windows NT 4.0 (and later) feature.When CD is specified, the operating system will copy the image on a removable disk to a page file and then load it." Category="System" Switch="SWAPRUN:CD" F1Keyword="VC.Project.VCLinkerTool.SwapRunFromCD"></BoolProperty>
<BoolProperty Name="LinkSwapRunFromNET" DisplayName="Swap Run From Network" Description="The /SWAPRUN option tells the operating system to first copy the linker output to a swap file, and then run the image from there. This is a Windows NT 4.0 (and later) feature. If NET is specified, the operating system will first copy the binary image from the network to a swap file and load it from there. This option is useful for running applications over the network." Category="System" Switch="SWAPRUN:NET" F1Keyword="VC.Project.VCLinkerTool.SwapRunFromNet"></BoolProperty>
<EnumProperty Name="LinkDriver" DisplayName="Driver" Description="Use the /DRIVER linker option to build a Windows NT kernel mode driver." Category="System" F1Keyword="VC.Project.VCLinkerTool.driver">
<EnumValue Name="LinkNotSet" Switch="" DisplayName="Not Set" Description="Default driver setting."></EnumValue>
<EnumValue Name="LinkDriver" Switch="Driver" DisplayName="Driver" Description="Driver"></EnumValue>
<EnumValue Name="LinkUpOnly" Switch="DRIVER:UPONLY" DisplayName="UP Only" Description="/DRIVER:UPONLY causes the linker to add the IMAGE_FILE_UP_SYSTEM_ONLY bit to the characteristics in the output header to specify that it is a uniprocessor (UP) driver. The operating system will refuse to load a UP driver on a multiprocessor (MP) system."></EnumValue>
<EnumValue Name="LinkWDM" Switch="DRIVER:WDM" DisplayName="WDM" Description="/DRIVER:WDM causes the linker to set the IMAGE_DLLCHARACTERISTICS_WDM_DRIVER bit in the optional header's DllCharacteristics field."></EnumValue>
</EnumProperty>
<BoolProperty ReverseSwitch="OPT:NOREF" Name="LinkOptimizeReferences" DisplayName="References" Description="/OPT:REF eliminates functions and/or data that are never referenced while /OPT:NOREF keeps functions and/or data that are never referenced. " Category="Optimization" Switch="OPT:REF" F1Keyword="VC.Project.VCLinkerTool.OptimizeReferences"></BoolProperty>
<BoolProperty ReverseSwitch="OPT:NOICF" Name="LinkEnableCOMDATFolding" DisplayName="Enable COMDAT Folding" Description="Use /OPT:ICF[=iterations] to perform identical COMDAT folding. " Category="Optimization" Switch="OPT:ICF" F1Keyword="VC.Project.VCLinkerTool.EnableCOMDATFolding"></BoolProperty>
<StringProperty Subtype="file" Name="LinkFunctionOrder" DisplayName="Function Order" Description="The /ORDER option tells LINK to optimize your program by placing certain COMDATs into the image in a predetermined order. LINK places the functions in the specified order within each section in the image." Category="Optimization" Switch="ORDER" Separator=":@" F1Keyword="VC.Project.VCLinkerTool.FunctionOrder"></StringProperty>
<StringProperty Subtype="file" Name="LinkProfileGuidedDatabase" DisplayName="Profile Guided Database" Description="Specify .pgd file for profile guided optionizations. (/PGD)" Category="Optimization" Switch="PGD" Separator=":" F1Keyword="VC.Project.VCLinkerTool.ProfileGuidedDatabase"></StringProperty>
<EnumProperty Name="LinkTimeCodeGeneration" DisplayName="Link Time Code Generation" Description="Specifies link-time code generation." Category="Optimization" F1Keyword="VC.Project.VCLinkerTool.LinkTimeCodeGeneration">
<EnumValue Name="LinkDefault" Switch="" DisplayName="Default" Description="Default LTCG setting."></EnumValue>
<EnumValue Name="LinkUseLinkTimeCodeGeneration" Switch="LTCG" DisplayName="Use Link Time Code Generation" Description="Use Link Time Code Generation."></EnumValue>
<EnumValue Name="LinkPGInstrument" Switch="LTCG:PGInstrument" DisplayName="Profile Guided Optimization - Instrument" Description="Specifies link-time code generation."></EnumValue>
<EnumValue Name="LinkPGOptimization" Switch="LTCG:PGOptimize" DisplayName="Profile Guided Optimization - Optimization" Description="Specifies that the linker should use the profile data created after running the instrumented binary to create an optimized image."></EnumValue>
<EnumValue Name="LinkPGUpdate" Switch="LTCG:PGUpdate" DisplayName="Profile Guided Optimization - Update" Description="Allows and tracks list of input files to be added or modified from what was specified in the :PGINSTRUMENT phase."></EnumValue>
</EnumProperty>
<StringProperty Subtype="file" Name="LinkMidlCommandFile" DisplayName="MIDL Commands" Description="Specify MIDL command line Options. (/MIDL:@responsefile)" Category="Embedded IDL" Switch="MIDL" Separator=":@" F1Keyword="VC.Project.VCLinkerTool.MidlCommandFile"></StringProperty>
<BoolProperty Name="LinkIgnoreEmbeddedIDL" DisplayName="Ignore Embedded IDL" Description="The /IGNOREIDL option specifies that any IDL attributes in source code should not be processed into an .idl file." Category="Embedded IDL" Switch="IGNOREIDL" F1Keyword="VC.Project.VCLinkerTool.IgnoreEmbeddedIDL"></BoolProperty>
<StringProperty Subtype="file" Name="LinkMergedIDLBaseFileName" DisplayName="Merged IDL Base File Name" Description="The /IDLOUT option specifies the name and extension of the .idl file." Category="Embedded IDL" Switch="IDLOUT" Separator=":" F1Keyword="VC.Project.VCLinkerTool.MergedIDLBaseFileName"></StringProperty>
<StringProperty Subtype="file" Name="LinkTypeLibraryFile" DisplayName="Type Library" Description="The /TLBOUT option specifies the name and extension of the .tlb file." Category="Embedded IDL" Switch="TLBOUT" Separator=":" F1Keyword="VC.Project.VCLinkerTool.TypeLibraryFile"></StringProperty>
<IntProperty Name="LinkTypeLibraryResourceID" DisplayName="TypeLib Resource ID" Description="Allows you to specify the resource ID of the linker-generated type library. (/TLBID:id)" Category="Embedded IDL" Switch="TLBID" Separator=":" F1Keyword="VC.Project.VCLinkerTool.TypeLibraryResourceID"></IntProperty>
<BoolProperty Name="LinkAppContainer" Category="Windows Metadata" Switch="APPCONTAINER" Visible="false"></BoolProperty>
<EnumProperty Name="LinkGenerateWindowsMetadata" DisplayName="Generate Windows Metadata" Description="Enables or disable generation of Windows Metadata." Category="Windows Metadata" F1Keyword="VC.Project.VCLinkerTool.GenerateWindowsMetadata">
<EnumValue Name="Linktrue" Switch="WINMD" DisplayName="Yes" Description="Enable generation of Windows Metadata files."></EnumValue>
<EnumValue Name="Linkfalse" Switch="WINMD:NO" DisplayName="No" Description="Disable the generation of Windows Metadata files."></EnumValue>
</EnumProperty>
<StringProperty Subtype="file" Name="LinkWindowsMetadataFile" DisplayName="Windows Metadata File" Description="The /WINMDFILE option switch." Category="Windows Metadata" Switch="WINMDFILE" Separator=":" F1Keyword="VC.Project.VCLinkerTool.GenerateWindowsMetadataFile"></StringProperty>
<StringProperty Subtype="file" Name="LinkWindowsMetadataLinkKeyFile" DisplayName="Windows Metadata Key File" Description="Specify key or key pair to sign an Windows Metadata. (/WINMDKEYFILE:filename)" Category="Windows Metadata" Switch="WINMDKEYFILE" Separator=":" F1Keyword="VC.Project.VCLinkerTool.WINMDKeyFile"></StringProperty>
<StringProperty Subtype="file" Name="LinkWindowsMetadataKeyContainer" DisplayName="Windows Metadata Key Container" Description="Specify a key container to sign an Windows Metadata. (/WINMDKEYCONTAINER:name)" Category="Windows Metadata" Switch="WINMDKEYCONTAINER" Separator=":" F1Keyword="VC.Project.VCLinkerTool.WINMDKEYCONTAINER"></StringProperty>
<BoolProperty ReverseSwitch="WINMDDELAYSIGN:NO" Name="LinkWindowsMetadataLinkDelaySign" DisplayName="Windows Metadata Delay Sign" Description="Partially sign an Windows Metadata. Use /WINMDDELAYSIGN if you only want to place the public key in the Windows Metadata. The default is /WINMDDELAYSIGN:NO." Category="Windows Metadata" Switch="WINMDDELAYSIGN" F1Keyword="VC.Project.VCLinkerTool.WINMDDelaySign"></BoolProperty>
<EnumProperty Name="LinkWindowsMetadataSignHash" DisplayName="Windows Metadata Sign Hash" Description="Specifies to Linker the algorithm for hashing the signing key. ( /WINMDSIGNHASH : [ SHA1 | SHA256| SHA384| SHA512] )." Category="Windows Metadata" Switch="WINMDSIGNHASH:" Visible="false" F1Keyword="VC.Project.VCLinkerTool.WINMDSignHash">
<EnumValue Name="LinkSHA1" Switch="WINMDSIGNHASH:SHA1" DisplayName="SHA1"></EnumValue>
<EnumValue Name="LinkSHA256" Switch="WINMDSIGNHASH:SHA256" DisplayName="SHA256"></EnumValue>
<EnumValue Name="LinkSHA384" Switch="WINMDSIGNHASH:SHA384" DisplayName="SHA384"></EnumValue>
<EnumValue Name="LinkSHA512" Switch="WINMDSIGNHASH:SHA512" DisplayName="SHA512"></EnumValue>
</EnumProperty>
<StringProperty Name="LinkEntryPointSymbol" DisplayName="Entry Point" Description="The /ENTRY option specifies an entry point function as the starting address for an .exe file or DLL." Category="Advanced" Switch="ENTRY" Separator=":" F1Keyword="VC.Project.VCLinkerTool.EntryPointSymbol"></StringProperty>
<BoolProperty Name="LinkNoEntryPoint" DisplayName="No Entry Point" Description="The /NOENTRY option is required for creating a resource-only DLL.Use this option to prevent LINK from linking a reference to _main into the DLL." Category="Advanced" Switch="NOENTRY" F1Keyword="VC.Project.VCLinkerTool.ResourceOnlyDLL"></BoolProperty>
<BoolProperty Name="LinkSetChecksum" DisplayName="Set Checksum" Description="The /RELEASE option sets the Checksum in the header of an .exe file." Category="Advanced" Switch="RELEASE" F1Keyword="VC.Project.VCLinkerTool.SetChecksum"></BoolProperty>
<StringProperty Name="LinkBaseAddress" DisplayName="Base Address" Description="Sets a base address for the program. (/BASE:{address[,size] | @filename,key})" Category="Advanced" Switch="BASE" Separator=":" F1Keyword="VC.Project.VCLinkerTool.BaseAddress"></StringProperty>
<BoolProperty ReverseSwitch="DYNAMICBASE:NO" Name="LinkRandomizedBaseAddress" DisplayName="Randomized Base Address" Description="Randomized Base Address. (/DYNAMICBASE[:NO])" Category="Advanced" Switch="DYNAMICBASE" F1Keyword="VC.Project.VCLinkerTool.RandomizedBaseAddress"></BoolProperty>
<BoolProperty ReverseSwitch="FIXED:NO" Name="LinkFixedBaseAddress" DisplayName="Fixed Base Address" Description="Creates a program that can be loaded only at its preferred base address. (/FIXED[:NO])" Category="Advanced" Switch="FIXED" F1Keyword="VC.Project.VCLinkerTool.FixedBaseAddress"></BoolProperty>
<BoolProperty ReverseSwitch="NXCOMPAT:NO" Name="LinkDataExecutionPrevention" DisplayName="Data Execution Prevention (DEP)" Description="Marks an executable as having been tested to be compatible with Windows Data Execution Prevention feature. (/NXCOMPAT[:NO])" Category="Advanced" Switch="NXCOMPAT" F1Keyword="VC.Project.VCLinkerTool.DataExecutionPrevention"></BoolProperty>
<BoolProperty Name="LinkTurnOffAssemblyGeneration" DisplayName="Turn Off Assembly Generation" Description="The /NOASSEMBLY option tells the linker to create an image for the current output file without a .NET Framework assembly." Category="Advanced" Switch="NOASSEMBLY" F1Keyword="VC.Project.VCLinkerTool.TurnOffAssemblyGeneration"></BoolProperty>
<BoolProperty Name="LinkSupportUnloadOfDelayLoadedDLL" DisplayName="Unload delay loaded DLL" Description="The UNLOAD qualifier tells the delay-load helper function to support explicit unloading of the DLL. (/DELAY:UNLOAD)" Category="Advanced" Switch="DELAY:UNLOAD" F1Keyword="VC.Project.VCLinkerTool.SupportUnloadOfDelayLoadedDLL"></BoolProperty>
<BoolProperty Name="LinkSupportNobindOfDelayLoadedDLL" DisplayName="Nobind delay loaded DLL" Description="The NOBIND qualifier tells the linker not to include a bindable IAT in the final image. The default is to create the bindable IAT for delay-loaded DLLs. (/DELAY:NOBIND)" Category="Advanced" Switch="DELAY:NOBIND" F1Keyword="VC.Project.VCLinkerTool.SupportNobindOfDelayLoadedDLL"></BoolProperty>
<StringProperty Subtype="file" Name="LinkImportLibrary" DisplayName="Import Library" Description="Overrides the default import library name. (/IMPLIB:filename)" Category="Advanced" Switch="IMPLIB" Separator=":" F1Keyword="VC.Project.VCLinkerTool.ImportLIbrary"></StringProperty>
<StringProperty Name="LinkMergeSections" DisplayName="Merge Sections" Description="The /MERGE option combines the first section (from) with the second section (to), naming the resulting section to. For example, /merge:.rdata=.text." Category="Advanced" Switch="MERGE" Separator=":" F1Keyword="VC.Project.VCLinkerTool.MergeSections"></StringProperty>
<EnumProperty Name="LinkTargetMachine" DisplayName="Target Machine" Description="The /MACHINE option specifies the target platform for the program." Category="Advanced" F1Keyword="VC.Project.VCLinkerTool.TargetMachine">
<EnumValue Name="LinkNotSet" Switch="" DisplayName="Not Set"></EnumValue>
<EnumValue Name="LinkMachineARM" Switch="MACHINE:ARM" DisplayName="MachineARM"></EnumValue>
<EnumValue Name="LinkMachineEBC" Switch="MACHINE:EBC" DisplayName="MachineEBC"></EnumValue>
<EnumValue Name="LinkMachineIA64" Switch="MACHINE:IA64" DisplayName="MachineIA64"></EnumValue>
<EnumValue Name="LinkMachineMIPS" Switch="MACHINE:MIPS" DisplayName="MachineMIPS"></EnumValue>
<EnumValue Name="LinkMachineMIPS16" Switch="MACHINE:MIPS16" DisplayName="MachineMIPS16"></EnumValue>
<EnumValue Name="LinkMachineMIPSFPU" Switch="MACHINE:MIPSFPU" DisplayName="MachineMIPSFPU"></EnumValue>
<EnumValue Name="LinkMachineMIPSFPU16" Switch="MACHINE:MIPSFPU16" DisplayName="MachineMIPSFPU16"></EnumValue>
<EnumValue Name="LinkMachineSH4" Switch="MACHINE:SH4" DisplayName="MachineSH4"></EnumValue>
<EnumValue Name="LinkMachineTHUMB" Switch="MACHINE:THUMB" DisplayName="MachineTHUMB"></EnumValue>
<EnumValue Name="LinkMachineX64" Switch="MACHINE:X64" DisplayName="MachineX64"></EnumValue>
<EnumValue Name="LinkMachineX86" Switch="MACHINE:X86" DisplayName="MachineX86"></EnumValue>
</EnumProperty>
<BoolProperty Name="LinkProfile" DisplayName="Profile" Description="Produces an output file that can be used with the Performance Tools profiler. Requires GenerateDebugInformation (/DEBUG) to be set. (/PROFILE)" Category="Advanced" Switch="PROFILE" F1Keyword="VC.Project.VCLinkerTool.Profile"></BoolProperty>
<EnumProperty Name="LinkCLRThreadAttribute" DisplayName="CLR Thread Attribute" Description="Explicitly specify the threading attribute for the entry point of your CLR program." Category="Advanced" F1Keyword="VC.Project.VCLinkerTool.CLRThreadAttribute">
<EnumValue Name="LinkMTAThreadingAttribute" Switch="CLRTHREADATTRIBUTE:MTA" DisplayName="MTA threading attribute" Description="Applies the MTAThreadAttribute attribute to the entry point of your program."></EnumValue>
<EnumValue Name="LinkSTAThreadingAttribute" Switch="CLRTHREADATTRIBUTE:STA" DisplayName="STA threading attribute" Description="Applies the STAThreadAttribute attribute to the entry point of your program."></EnumValue>
<EnumValue Name="LinkDefaultThreadingAttribute" Switch="CLRTHREADATTRIBUTE:NONE" DisplayName="Default threading attribute" Description="Same as not specifying /CLRTHREADATTRIBUTE. Lets the Common Language Runtime (CLR) set the default threading attribute."></EnumValue>
</EnumProperty>
<EnumProperty Name="LinkCLRImageType" DisplayName="CLR Image Type" Description="Sets the type (IJW, pure, or safe) of a CLR image." Category="Advanced" F1Keyword="VC.Project.VCLinkerTool.CLRImageType">
<EnumValue Name="LinkForceIJWImage" Switch="CLRIMAGETYPE:IJW" DisplayName="Force IJW image"></EnumValue>
<EnumValue Name="LinkForcePureILImage" Switch="CLRIMAGETYPE:PURE" DisplayName="Force Pure IL Image"></EnumValue>
<EnumValue Name="LinkForceSafeILImage" Switch="CLRIMAGETYPE:SAFE" DisplayName="Force Safe IL Image"></EnumValue>
<EnumValue Name="LinkDefault" Switch="" DisplayName="Default image type"></EnumValue>
</EnumProperty>
<StringProperty Subtype="file" Name="LinkKeyFile" DisplayName="Key File" Description="Specify key or key pair to sign an assembly. (/KEYFILE:filename)" Category="Advanced" Switch="KEYFILE" Separator=":" F1Keyword="VC.Project.VCLinkerTool.KeyFile"></StringProperty>
<StringProperty Subtype="file" Name="LinkKeyContainer" DisplayName="Key Container" Description="Specify a key container to sign an assembly. (/KEYCONTAINER:name)" Category="Advanced" Switch="KEYCONTAINER" Separator=":" F1Keyword="VC.Project.VCLinkerTool.KeyContainer"></StringProperty>
<BoolProperty ReverseSwitch="DELAYSIGN:NO" Name="LinkDelaySign" DisplayName="Delay Sign" Description="Partially sign an assembly. Use /DELAYSIGN if you only want to place the public key in the assembly. The default is /DELAYSIGN:NO." Category="Advanced" Switch="DELAYSIGN" F1Keyword="VC.Project.VCLinkerTool.DelaySign"></BoolProperty>
<EnumProperty Name="LinkSignHash" DisplayName="CLR Sign Hash" Description="Specifies to Linker the algorithm for hashing the signing key. ( /CLRSIGNHASH : [ SHA1 | SHA256| SHA384| SHA512] )." Category="Advanced" Switch="CLRSIGNHASH:" Visible="false" F1Keyword="VC.Project.VCLinkerTool.SignHash">
<EnumValue Name="LinkSHA1" Switch="CLRSIGNHASH:SHA1" DisplayName="SHA1"></EnumValue>
<EnumValue Name="LinkSHA256" Switch="CLRSIGNHASH:SHA256" DisplayName="SHA256"></EnumValue>
<EnumValue Name="LinkSHA384" Switch="CLRSIGNHASH:SHA384" DisplayName="SHA384"></EnumValue>
<EnumValue Name="LinkSHA512" Switch="CLRSIGNHASH:SHA512" DisplayName="SHA512"></EnumValue>
</EnumProperty>
<BoolProperty ReverseSwitch="CLRUNMANAGEDCODECHECK:NO" Name="LinkCLRUnmanagedCodeCheck" DisplayName="CLR Unmanaged Code Check" Description="/CLRUNMANAGEDCODECHECK specifies whether the linker will apply SuppressUnmanagedCodeSecurityAttribute to linker-generated PInvoke calls from managed code into native DLLs." Category="Advanced" Switch="CLRUNMANAGEDCODECHECK" F1Keyword="VC.Project.VCLinkerTool.CLRUnmanagedCodeCheck"></BoolProperty>
<BoolProperty Name="LinkDetectOneDefinitionRule" DisplayName="Detect One Definition Rule violations" Description="Detect One Definition Rule violations for user defined types. This option requires debug information (Zi/ZI/Z7 and DEBUG) in each module and in the program to diagnose ODR violations. (/ODR)" Category="Advanced" Switch="ODR" Visible="false" F1Keyword="VC.Project.VCLinkerTool.DetectOneDefinitionRule"></BoolProperty>
<EnumProperty Name="LinkErrorReporting" DisplayName="Error Reporting" Description="Allows you to provide internal compiler error (ICE) information directly to the Visual C++ team." Category="Advanced" F1Keyword="VC.Project.VCLinkerTool.ErrorReporting">
<EnumValue Name="LinkPromptImmediately" Switch="ERRORREPORT:PROMPT" DisplayName="PromptImmediately" Description="Prompt immediately."></EnumValue>
<EnumValue Name="LinkQueueForNextLogin" Switch="ERRORREPORT:QUEUE" DisplayName="Queue For Next Login" Description="Queue for next login."></EnumValue>
<EnumValue Name="LinkSendErrorReport" Switch="ERRORREPORT:SEND" DisplayName="Send Error Report" Description="Send error report."></EnumValue>
<EnumValue Name="LinkNoErrorReport" Switch="ERRORREPORT:NONE" DisplayName="No Error Report" Description="No error report."></EnumValue>
</EnumProperty>
<IntProperty Name="LinkSectionAlignment" DisplayName="SectionAlignment" Description="The /ALIGN option specifies the alignment of each section within the linear address space of the program. The number argument is in bytes and must be a power of two." Category="Advanced" Switch="ALIGN" Separator=":" F1Keyword="VC.Project.VCLinkerTool.Alignment"></IntProperty>
<EnumProperty Name="LinkCLRSupportLastError" DisplayName="Preserve Last Error Code for PInvoke Calls" Description="/CLRSUPPORTLASTERROR, which is on by default, preserves the last error code of functions called through the P/Invoke mechanism, which allows you to call native functions in DLLS, from code compiled with /clr." Category="Advanced" F1Keyword="VC.Project.VCLinkerTool.CLRSupportLastError">
<EnumValue Name="LinkEnabled" Switch="CLRSupportLastError" DisplayName="Enabled" Description="Enable CLRSupportLastError."></EnumValue>
<EnumValue Name="LinkDisabled" Switch="CLRSupportLastError:NO" DisplayName="Disabled" Description="Disable CLRSupportLastError."></EnumValue>
<EnumValue Name="LinkSystemDlls" Switch="CLRSupportLastError:SYSTEMDLL" DisplayName="System Dlls Only" Description="Enable CLRSupportLastError for system dlls only."></EnumValue>
</EnumProperty>
<BoolProperty ReverseSwitch="SAFESEH:NO" Name="LinkImageHasSafeExceptionHandlers" DisplayName="Image Has Safe Exception Handlers" Description="When /SAFESEH is specified, the linker will only produce an image if it can also produce a table of the image's safe exception handlers. This table specifies for the operating system which exception handlers are valid for the image." Category="Advanced" Switch="SAFESEH" F1Keyword="VC.Project.VCLinkerTool.ImageHasSafeExceptionHandlers"></BoolProperty>
<BoolProperty Name="LinkDLL" Switch="DLL" Visible="false"></BoolProperty>
<BoolProperty Name="LinkBuildingInIde" Visible="false"></BoolProperty>
<StringProperty Name="AdditionalOptions" DisplayName="Ignored Additional Options" Description="Additional Options Are Ignored for LINKFLAGS." Category="Command Line" IncludeInCommandLine="false" >
<StringProperty.DataSource>
<DataSource Persistence="ProjectFile" Label="linkflags" ItemType="linkflags" HasConfigurationCondition="true" />
</StringProperty.DataSource>
</StringProperty>
</Rule>