通过命令提示符编译c ++项目

时间:2014-06-05 19:05:41

标签: c++ xml msbuild visual-studio-2013

我正在努力弄清楚要填充到我正在创建的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)举例吗?这似乎很简单,但只是在第一次这样做之后。感谢。

2 个答案:

答案 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时会自动配置工具集。