C++ 我如何强制执行C++;MSBuild中的平台?
我有一个程序,必须建立为32位。它随x64应用程序一起提供。因此,有一个安装程序获得了比特数 安装程序是使用C++ 我如何强制执行C++;MSBuild中的平台?,c++,visual-studio,msbuild,vcxproj,C++,Visual Studio,Msbuild,Vcxproj,我有一个程序,必须建立为32位。它随x64应用程序一起提供。因此,有一个安装程序获得了比特数 安装程序是使用wixproj构建的,该wixproj必须使用/p:Platform=x64构建,但是vcxproj需要构建为x86 我试图通过显式设置将Platform强制为x86或Win32: <PropertyGroup> <Platform>Win32</Platform> </PropertyGroup> 最后,对这个问题进行了分析,但这对C
wixproj
构建的,该wixproj必须使用/p:Platform=x64
构建,但是vcxproj
需要构建为x86
我试图通过显式设置将Platform
强制为x86
或Win32
:
<PropertyGroup>
<Platform>Win32</Platform>
</PropertyGroup>
最后,对这个问题进行了分析,但这对C++没有任何影响。MSBuild具有允许项目文件重写任何变量的设置,该变量进入文件开头的
项目
节点
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build"
ToolsVersion="4.0"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003"
TreatAsLocalProperty="Platform"> <!-- !!! -->
<PropertyGroup>
<Platform>Win32</Platform>
</PropertyGroup>
<!-- Now Platform is Win32 no matter what! -->
</Project>
Win32
终于解决了这个问题。MSBuild具有允许项目文件重写任何变量的设置,该变量进入文件开头的项目
节点
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build"
ToolsVersion="4.0"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003"
TreatAsLocalProperty="Platform"> <!-- !!! -->
<PropertyGroup>
<Platform>Win32</Platform>
</PropertyGroup>
<!-- Now Platform is Win32 no matter what! -->
</Project>
Win32
终于解决了这个问题。MSBuild具有允许项目文件重写任何变量的设置,该变量进入文件开头的项目
节点
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build"
ToolsVersion="4.0"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003"
TreatAsLocalProperty="Platform"> <!-- !!! -->
<PropertyGroup>
<Platform>Win32</Platform>
</PropertyGroup>
<!-- Now Platform is Win32 no matter what! -->
</Project>
Win32
终于解决了这个问题。MSBuild具有允许项目文件重写任何变量的设置,该变量进入文件开头的项目
节点
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build"
ToolsVersion="4.0"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003"
TreatAsLocalProperty="Platform"> <!-- !!! -->
<PropertyGroup>
<Platform>Win32</Platform>
</PropertyGroup>
<!-- Now Platform is Win32 no matter what! -->
</Project>
Win32
既然你在问这个问题,我想你不是在单独构建它们——那么你是如何构建这些项目的呢?它们是单一解决方案的一部分吗?您使用主生成文件吗?您可以显示调用生成它们的msbuild部分吗?@stijn:msbuild foo.wixproj/p:Platform=x64/p:Configuration=Release
既然您在问这个问题,我假设您没有单独生成它们-那么您如何构建这些项目呢?它们是单一解决方案的一部分吗?您使用主生成文件吗?您可以显示调用生成它们的msbuild部分吗?@stijn:msbuild foo.wixproj/p:Platform=x64/p:Configuration=Release
既然您在问这个问题,我假设您没有单独生成它们-那么您如何构建这些项目呢?它们是单一解决方案的一部分吗?您使用主生成文件吗?您可以显示调用生成它们的msbuild部分吗?@stijn:msbuild foo.wixproj/p:Platform=x64/p:Configuration=Release
既然您在问这个问题,我假设您没有单独生成它们-那么您如何构建这些项目呢?它们是单一解决方案的一部分吗?您使用主生成文件吗?您是否可以显示调用生成它们的msbuild部分?@stijn:msbuild foo.wixproj/p:Platform=x64/p:Configuration=Release