gpt4 book ai didi

c++ - 在一个解决方案中只批量编译一个项目

转载 作者:太空宇宙 更新时间:2023-11-04 11:26:43 25 4
gpt4 key购买 nike

假设我有一个包含三个项目的解决方案

SolutionA
ProjectA
ProjectB
ProjectC

整个解决方案设置为构建为 AnyCPU。但是,ProjectB 是一个托管的 C++ 项目,我希望它(并且只希望它)同时构建 Win32 和 x64。我正在使用 TFS 每晚执行这些构建。有什么好的方法可以做到这一点吗?

最佳答案

.sln 文件本身不能同时在两个配置或平台上构建同一个项目。一种可能的解决方法是创建一个自定义项目,该项目将由 .sln 调用并依次调用 projectA 两次——具有两个不同的 Platform 参数值。自定义项目文件如下所示:

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition="'$(Configuration)' == ''">Debug</Configuration>
</PropertyGroup>
<Target Name="build">
<MSBuild Project="ProjectA.vcxproj" Properties="Platform=Win32;Configuration=$(Configuration)" />
<MSBuild Project="ProjectA.vcxproj" Properties="Platform=x64;Configuration=$(Configuration)" />
</Target>
</Project>

为此,您需要执行以下操作。 1. 在解决方案中禁用 ProjectA 的构建(或将其从 .sln 中删除)。 2. 将您的自定义项目添加到 .sln。

此外,请记住,您不能将显式/p:Platform 选项传递给

关于c++ - 在一个解决方案中只批量编译一个项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26407650/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com