在多个平台的解决方案中构建 Visual Studio C++ 项目

2023-12-10

我有一个 Visual Studio 解决方案,其中包含多个 C# 项目和一个 C++ 项目。

C++ 项目已正确配置为针对 x64 和 win32 进行构建(具有单独的输出目录、针对 32 和 64 引用的正确二进制文件等),并且默认配置为 x64。 C# 项目针对任何 CPU 进行配置。

在构建整个解决方案时,如何配置我的解决方案以构建适用于 x64 和 win32 的 C++ 项目?

P.S.:批量构建无法完成这种情况的工作,因为我需要以任何克隆存储库的人都可以正确构建的方式进行配置,而无需任何其他设置


如何配置我的解决方案来为 x64 构建 C++ 项目 和 win32 构建整个解决方案时?

请用批量构建构建您的解决方案。

1)首先右键单击您的解决方案并选择批量构建.

2)其次,检查您要构建的 C++ 项目。然后您可以检查项目的 64 位和 32 位,还可以选择Debug or Release为了配置。最后,单击“构建”或“重建”以同时生成不同版本的输出文件。

enter image description here

3)完成后,请打开解决方案文件夹。在我身边,Debug or Release文件夹仅用于32-bit while x64文件夹仅用于64-bit.

enter image description here

Update 1

由于您不想配置 VS 设置然后使用批量构建,我认为您可以在xxxx.vcxproj file.

Please将这些目标添加到xxxx.vcxproj整个解决方案中的所有 C++ 项目。

<Target Name="BuildFunction" AfterTargets="Build">
    <MSBuild Condition="'$(Platform)'=='Win32'" Projects="$(MSBuildProjectFile)" Properties="Platform=x64;PlatFormTarget=x64" RunEachTargetSeparately="true"  />
    <MSBuild Condition="'$(Platform)'=='x64'"   Projects="$(MSBuildProjectFile)" Properties="Platform=Win32;PlatFormTarget=x86" RunEachTargetSeparately="true" />
  </Target>

  <Target Name="CleanAll" AfterTargets="Clean">
    <MSBuild Condition="'$(Platform)'=='Win32'" Projects="$(MSBuildProjectFile)" Targets="Clean" Properties="Platform=x64;PlatFormTarget=x64" RunEachTargetSeparately="true"  />
    <MSBuild Condition="'$(Platform)'=='x64'"   Projects="$(MSBuildProjectFile)" Targets="Clean" Properties="Platform=Win32;PlatFormTarget=x86" RunEachTargetSeparately="true" />

  </Target>

这些目标取决于Build or Clean目标。所以当你构建项目时,它们总是会稍后执行并将项目构建成其他版本。

此外,此方法与您的解决方案相关联,因此当其他人克隆您的解决方案时,请直接从您的脚本构建或单击Build在 VS IDE 中,然后你会看到x64 and x86解决方案中文件的版本。

希望它可以帮助你。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在多个平台的解决方案中构建 Visual Studio C++ 项目 的相关文章

随机推荐