General Property Page (Project)

When a project is selected in Solution Explorer, the General property page under the Configuration Properties node, displays two sections of properties:

  • General

  • Project Defaults

General

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.

  • 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.

  • 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.

  • Build Log Files
    Allows you to specify a non-default location for the log file that is created whenever you build a project.

    You can use project macros to change the directory location. See Macros for Build Commands and Properties.

  • Inherited Project Property Sheets
    Specifies which property sheets you want to use. See How to: Inherit Project Settings from Property Sheets for more information.

  • Enable Managed Incremental Build
    Allows you to specify whether you want to use incremental builds. Without incremental builds, code must be recompiled every time that a referenced assembly changes. This will occur even if the change is internalized, such as when you add a comment. When you enable the Managed Incremental Build property, the compiler determines whether any changes to an assembly affect projects that depend on that assembly. The dependent project will be rebuilt only if the changes affect it.

Project Defaults

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 .vsprops files in Program Files\Microsoft Visual Studio 8\VC\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.

  • 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.

  • 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 will be added to the compiler's Command Line property page.

    To programmatically access this property, see useOfATL.

  • 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.

  • Common Language Runtime support
    Causes the /clr compiler option to be used.

    To programmatically access this property, see ManagedExtensions.

  • Whole Program Optimization
    Specifies the /GL compiler option and /LTCG linker option.

For information on how to access the General property page under the Configuration Properties node, see How To: Specify Project Properties with Property Pages.

See Also

Reference

Property Pages (C+)