Como usar o sistema de compilação externo para o projeto Visual C ++ 2013?

É possível usar umexternal build system para VC ++ 2013? Quero que o Visual Studio não faça nada além de criar, invocando minhas ferramentas de criação.

Estou pensando em algo assim:

Coloque todo o comando de compilação em lotes.Chame um lote de construção no nível do projeto clicando com o botão direito do mouse no projeto e escolha construir.

Chame o lote de construção no nível da solução clicando com o botão direito do mouse na solução e escolha construir.

Existe algum tutorial passo a passo? Eu procurei muito, mas sem sorte.

ADICIONAR 1 - Algum progresso ...

Depois de ler brevemente sobre oMSBuild processo, tentei como abaixo.

Primeiro, edito o*.vcxproj arquivo de projeto. Eu mudo oDefaultTargets deBuild paraMyTarget.

<Project DefaultTargets="MyTarget" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

Então eu adiciono um novo destino chamadoMyTarget:

  <Target Name="MyTarget">
    <Message Text="Hello, Bitch!" />
  </Target>

Espero que isso possa ignorar o processo interno do VS2013 e executar apenas meu próprio lote.

Funciona bem no prompt de comando:

Mas no Visual Studio, quando clico com o botão direito do mouse no projeto e escolhobuild comando, isso me dá muitos erros de link.

Como evitar esses erros de link? Como meu lote pode cuidar de todo o processo de compilação, não preciso do Visual Studio para fazer o link para mim.

ADICIONAR 2

Parece que esses erros de link aparecem porque eu incluo o*.c arquivos com oClCompile tag como abaixo.

<ItemGroup>
   <ClCompile Include="z:\MyProject1\source1.c" />
<ItemGroup>

Como não quero que o VS2013 chame o compilador, mudo para<ClInclude> tag, os erros de link desapareceram, mas a resolução do símbolo não está funcionando ... Parece que não devo alterar a tag.

ADICIONAR 3

Aqui está outra maneira de compilar sem vincular.

É possível para o Visual Studio C ++ compilar objetos sem vincular

Parece que não há o problema de resolução de símbolo. Mas ainda não consigo invocar um lote externo clicando embuild/rebuild/clean.

questionAnswers(2)

yourAnswerToTheQuestion