如何只使用一组解决方案/项目文件来定位Win32和x64平台?

时间:2011-10-17 16:00:31

标签: visual-studio-2010 visual-c++ msbuild multitargeting

我正在尝试将多个项目从VC ++ 2005迁移到VC ++ 2010,我还需要将此应用程序从Win32移植到x64平台。

我知道一个项目文件可能包含两个平台的设置,但它要求我必须手动更改每个项目的平台设置,如果我想为x64构建。

我想要做的只是拥有一组可以针对这两个平台的解决方案/项目文件,并且通过某种简单的开关,我可以选择我现在正在构建的平台。 有这样的方式吗?或者我必须维护两组解决方案/项目文件,每个平台一个,所以如果我想为x64构建,我只能打开x64的解决方案文件,如果我想为Win32构建,我有打开Win32的解决方案文件?

2 个答案:

答案 0 :(得分:5)

您可以使用Visual Studio 2010中的“Configuration Manager”为解决方案和项目文件进行多种配置。

在VS 2010的菜单栏中,转到“构建” - > “配置管理器......”

答案 1 :(得分:4)

假设您拥有在每个项目文件中重复的平台属性:

<Platform>x86</Platform>

您可以在单个CommonProperties.properties文件中从ALL项目文件中提取此属性:

<?xml version="1.0" encoding="utf-8" ?>
<Project 
    ToolsVersion="4.0" 
    xmlns="http://schemas.microsoft.com/developer/msbuild/2003" 
    DefaultTargets="Default">

    <PropertyGroup>
         <Platform>x86</Platform>
    </PropertyGroup>
</Project>

然后只需将其导入所有项目文件:

<Import Project="CommonProperties.properties" />

编辑:多平台支持

<Platform Condition="'$(Platform)' == 'Win32'">x86</Platform>
<Platform Condition="'$(Platform)' == 'x64'">x64</Platform> 

有用的链接: