Inside the Microsoft® Build Engine by Hashimi Sayed Ibrahim & Bartholomew William

Inside the Microsoft® Build Engine by Hashimi Sayed Ibrahim & Bartholomew William

Author:Hashimi, Sayed Ibrahim & Bartholomew, William [Hashimi, Sayed Ibrahim]
Language: eng
Format: mobi
Tags: COMPUTERS / Programming / Microsoft Programming
Publisher: OReilly Media - A
Published: 2010-12-21T16:00:00+00:00


Native Multi-targeting

Large ISV vendors often build their products using multiple versions of toolsets because not all of their customers use the latest toolset version. Until now, this required the ISVs to maintain multiple versions of their project files and use corresponding editions of Visual Studio to build their application so as to produce binaries that targeted different toolsets. However, with Visual C++ 2010, you can use the same IDE to build using the v100 toolset as well as the v90 toolset. Note that you need to have Visual Studio 2008 installed on the same machine to target the v90 toolset[6]. Visual Studio 2010 supports only v90 and v100 toolsets by default, although it is possible to author support for any platform toolset as explained in the section entitled Platforms and Platform Toolsets, earlier in this chapter.

Native multi-targeting can be enabled both from the IDE and the command line. In the IDE, native multi-targeting is obtained by changing the Platform Toolset property, as described in the previous section. To build using the v90 toolset, simply set the “Platform Toolset” property under Configuration Properties/General to v90 as shown in Figure 11-6. To make all configurations use the same toolset, select All Configurations and All Platforms from the drop-down lists at the top of the property page window. To target multiple projects, multi-select them in Solution Explorer while bringing up the property pages and set the same property.

When you save the project, the PlatformToolset property gets written to the project file holding the version of the toolset that was selected.

<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"

Label="Configuration">

<PlatformToolset>v90</PlatformToolset>

</PropertyGroup>



Download



Copyright Disclaimer:
This site does not store any files on its server. We only index and link to content provided by other sites. Please contact the content providers to delete copyright contents if any and email us, we'll remove relevant links or contents immediately.