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 2Parece 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.
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
.