我有一个 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
为了配置。最后,单击“构建”或“重建”以同时生成不同版本的输出文件。
3)完成后,请打开解决方案文件夹。在我身边,Debug
or Release
文件夹仅用于32-bit while x64
文件夹仅用于64-bit.
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(使用前将#替换为@)