Компиляция проекта c ++ через командную строку

0

Я с трудом пытаюсь выяснить, какое поле заполняется в XML файл, который я создаю. Я пытаюсь следовать "Использование MSBuild для создания Visual C++ Project" (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>

Единственная часть, которую я знаю, мне нужно изменить, это часть группы элементов, которая соответствует всем моим файлам.cpp и.h. Нужны ли все поля? Можете ли вы привести пример для $ (VCTargetsPath) в каждом из проектов импорта? Это кажется простым, но только после первого раза. Благодарю.

Теги:
visual-studio-2013
msbuild

2 ответа

0
Лучший ответ

VCTargetsPath - это свойство набора инструментов, определенного в реестре. В вашем случае для ToolsVersion="12" место для реестра будет HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\12.0. Обычно набор инструментов настраивается автоматически при установке соответствующего SDK.

  • 0
    Я полагаю, чтобы заполнить все VCTargetsPaths с этим каталогом? Есть ли простой способ создания сценария в командной строке с использованием проектов Visual Studio?
  • 0
    Я нашел более простой способ передать аргументы. В Visual Studios я пошел в DEBUG -> «Свойства проекта» -> Свойства конфигурации -> Отладка -> Аргументы команд и заполнил свои входные данные.
Показать ещё 1 комментарий
0

Я честно никогда не создавал файл проекта C++ с msbuild в редакторе, всегда позволяю vs делать это для меня и включать/вызывать файл vcxproject через отдельный файл пользовательской сборки... однако TargetPath - это каталог настроенного цели для C++ MSBuild, на моей машине с vs 2013 установлен (настроен на использование инструментов v C++ 12.0): C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120.

Эти импорта определяют задачу ClInclude и все другие связанные с CN10 задачи, которые поддерживаются вашими инструментами.

  • 0
    Я Ultimate Visual Studio 2013 и не могу найти V120 или каталог в том же порядке.
  • 0
    Это зависит от установки, а также может иметь какое-то отношение ко мне с установленным ранее 2012 годом ... вы всегда можете найти файл для «Microsoft.Cpp.Targets», чтобы найти местоположение ...

Ещё вопросы

Сообщество Overcoder
Наверх
Меню