我正在努力弄清楚要填充到我正在创建的xml文件中的字段。我一直在尝试按照'使用MSBuild创建一个Visual C ++项目'(http://msdn.microsoft.com/en-us/library/dd293607.aspx),但我被困在xml部分。 所以字段是:
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.default.props" />
<PropertyGroup>
<ConfigurationType>Application</ConfigurationType>
<PlatformToolset>v120</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ItemGroup>
<ClCompile Include="main.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="main.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Targets" />
</Project>
我知道我必须更改的唯一部分是Item组部分,以匹配我的所有.cpp和.h文件。所有领域都是必要的吗?您能为每个导入项目中的$(VCTargetsPath)举例吗?这似乎很简单,但只是在第一次这样做之后。感谢。
答案 0 :(得分:0)
老实说,我从未在编辑器中使用msbuild创建C ++项目文件,总是让vs为我做,并通过我的单独自定义构建文件包含/调用vcxproject文件...但是,TargetPath是目录在我的机器上配置了MSBuild的C ++目标,并安装了vs 2013(配置为使用vc ++ 12.0工具):C:\ Program Files(x86)\ MSBuild \ Microsoft.Cpp \ v4.0 \ V120。
这些导入定义了ClInclude任务以及您的工具支持的所有其他C ++相关任务。
答案 1 :(得分:0)
VCTargetsPath是注册表中定义的toolset的属性。在您的情况下,对于ToolsVersion="12"
,注册表位置将为HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\12.0
。通常,在安装适当的SDK时会自动配置工具集。