Visual C++ Concepts: Creating and Managing Projects
2008-03-29 11:56
609 查看
Visual C++ Concepts: Creating and Managing Projects
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
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.
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.
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.
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.
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.
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.
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.
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++)相关文章推荐
- Automating Excel 2007 and creating charts using C++ MFC application in Visual Studio 2008
- Creating Spreadsheets and Charts in Microsoft Office Excel 2007 for Windows: Visual QuickProject Gui
- [MSDN]TN035: Using Multiple Resource Files and Header Files with Visual C++
- Git Reference---Getting and Creating Projects
- [Programming Visual C++]Chapter Six-Setting the Color for the Dialog Background and for Controls
- Creating targets for free and full versions in a single Xcode project
- Reversing Microsoft Visual C++ Part II: Classes, Methods and RTTI
- VS2010使用介绍创建可重用代码(一)---Creating and Using a Dynamic Link Library (C++)
- 使用vs2010创建可重用代码(三)Creating and Using a Managed Assembly (C++)
- Building and Installing ACE on Windows with Microsoft Visual C++
- TN035: Using Multiple Resource Files and Header Files with Visual C++
- Creating a PHP Extension for Windows using Microsoft Visual C++ 2008
- OpenGL: Configuring GLFW and GLEW in Visual C++ Express
- Pro visual c++/cli and .net 2.0 platform2 学习笔记(9第三章 面向对象的C++/CLI==2)
- 使用vs2010创建可重用代码(二)Creating and Using a Static Library (C++)
- Compiling and Linking MKL with Microsoft* Visual C/C++*
- Compiling and Integrating Crypto++ into the Microsoft Visual C++ Environment
- C++ AMP: The Concurrency Runtime and Visual C++ 2010: Lambda Expressions
- Qt Visual Studio Add-in: Creating Qt Translation Files for the Project
- Command Line Applications with Visual Studio 2008 and C++ Posted by omniplex in Errors