General Property Page (Project)
The General property page in the Configuration Properties folder, which is displayed in a project's property pages when a project node is selected in Solution Explorer, contains two sections of properties:
The properties in the General section affect the location of files that are created in the build process and which files to delete when the Clean option (Build menu) is selected.
- Output Directory
- Specifies the directory where tools such as the linker will place all final output files that are created during the build process. Typically, this includes the output of tools such as the linker, librarian, or BSCMake.
To programmatically access this property, see OutputDirectory Property.
- Intermediate Directory
- Specifies the directory where tools such as the compiler will place all intermediate files created during the build process. Typically, this includes the output of tools such as the C/C++ compiler, MIDL, and the resource compiler.
To programmatically access this property, see IntermediateDirectory Property.
- Extensions to Delete on Clean
- The Clean option (Build menu) deletes files from the intermediate directory where a project's configuration is built. Files with extensions specified with this property will be deleted when Clean is run or when you perform a rebuild. In addition to files of these extensions in the intermediate directory, the build system will also delete any known output of the build regardless of where it is located (including intermediate outputs such as .obj files). Note that you can specify wildcard characters.
To programmatically access this property, see DeleteExtensionsOnClean Property.
The properties in the Project Default section represent default properties that you can modify. See Specifying Project Settings with Property Pages for a discussion of default properties. The definition for these properties can be found in the .vcstyle files in Program Files\Microsoft Visual Studio .NET 2003\Vc7\VCProjectDefaults.
- Configuration Type
- There are several configuration types from which to choose:
- Application (.exe), displays linker toolset (C/C++ Compiler, MIDL, Resource Compiler, Linker, BSCMake, XML Web Service Proxy Generator, custom build, prebuild, prelink, postbuild events).
- Dynamic Library (.dll), displays linker toolset, specifies /DLL linker option, and adds the _WINDLL define to CL.
- Makefile, displays makefile toolset (NMake).
- Static Library (.lib), displays librarian toolset (same as linker toolset except substitute librarian for linker and omit XML Web Service Proxy Generator).
- Utility, displays utility toolset (MIDL, custom build, prebuild, postbuild events).
To programmatically access this property, see ConfigurationType Property.
- Build Browser Information
- Causes the browser file to be built when the project is built. Also changes the default for the Enable Browse Information property in the Browse Information property page, which is in the C/C++ folder. This property is per user (not stored in the project file).
To programmatically access this property, see BuildBrowserInformation Property.
- Use of MFC
- Specifies whether the MFC project will statically or dynamically link to the MFC DLL. Non-MFC projects can select Use Standard Windows Libraries to link to various Win32 libraries that are included when you use MFC.
To programmatically access this property, see useOfMfc Property.
- Use of ATL
- Specifies whether the ATL project will statically or dynamically link to the ATL .DLL. If you specify anything other than Not Using ATL, a define of some kind will be added to the compiler's Command Line property page.
To programmatically access this property, see useOfATL Property.
- Minimize CRT Use in ATL
- This property prevents CRT startup code from being linked with an ATL project. When enabled, it also defines _ATL_MIN_CRT. This will reduce the size of your binary but prevents calling any functions that require the CRT startup code. The Use of ATL property must be set to something other than Not Using ATL in order for Minimize CRT Use in ATL to be in effect.
For more information, see Knowledge Base article Q165076 : INFO LNK2001 on CRT Symbols in ATL Release Build for more info.
To programmatically access this property, see ATLMinimizesCRunTimeLibraryUsage Property.
- Character Set
- Defines whether _UNICODE or _MBCS should be set. Also affects the linker entry point where appropriate.
To programmatically access this property, see CharacterSet Property.
- Use Managed Extensions
- Causes the /clr compiler option to be used.
To programmatically access this property, see ManagedExtensions Property.
- Whole Program Optimization
- Specifies the /GL compiler option and /LTCG linker option.
- References Path
- Sets paths where the project system can search for reference resolution. When the project system finds references to .NET components, COM components, or project components, it looks in the directories you specify to try to resolve the reference.
See Adding and Removing References and ReferencePath Property for information on how to programmatically access this property.
For information on how to access the General property page in the Configuration Properties folder, see Setting Visual C++ Project Properties.