General Property Page (Project)

When you right-click on a project node in in Solution Explorer, and select Properties, the General property page under the Configuration Properties node in the left pane 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.

  • Target Name
    Specifies the file name this project generates.

  • Target Extension
    Specifies the file name extension this project generates; for example, .exe or .dll.

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

  • Platform Toolset
    Allows the project to target a different version of the Visual C++ libraries and compiler. Visual C++ projects can target either the toolset in Visual Studio 2010 (v100) or the toolset in Visual Studio 2008 (v90). This enables you to take advantage of the IDE enhancements in Visual Studio 2010 while you continue to use an older version of the Visual C++ libraries and compiler.

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 .props files in Installation Directory\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++)