Compartilhar via


Especificando as ferramentas de construção personalizada

A ferramenta de compilação personalizada fornece as informações necessárias para criar arquivos de entrada específicos ao sistema de compilação.Uma ferramenta de compilação personalizada Especifica uma lista de arquivos de entrada, um comando para executar, uma lista de arquivos de saída que são geradas pelo comando e uma descrição opcional da ferramenta.

Para obter informações gerais sobre as ferramentas de compilação personalizada e etapas de compilação personalizada, consulte Noções básicas sobre as etapas de compilação personalizados e eventos de compilação.

Para especificar uma ferramenta de compilação personalizada

  1. Abra o projeto Páginas de propriedades caixa de diálogo.Para obter mais informações, consulte Definindo propriedades de projeto Visual C++.

  2. Clique em Propriedades de configuração para habilitar o configuração caixa.No configuração , selecione a configuração para o qual você deseja especificar uma ferramenta de compilação personalizada.

  3. Em Solution Explorer, selecione o arquivo de entrada para a ferramenta de compilação personalizada.

    Se o Ferramenta de compilação personalizada pasta não aparece, a extensão de arquivo que você selecionou está associada com uma ferramenta padrão.Por exemplo, a ferramenta padrão para arquivos. c e. cpp é o compilador.Para substituir uma configuração de ferramenta padrão, no Propriedades de configuração nó, na Geral pasta, na Tipo de Item propriedade, clique em Ferramenta de compilação personalizada.Clique em Aplicar e o Ferramenta de compilação personalizada nó é exibido.

  4. No Ferramenta de compilação personalizada nó, na Geral pasta, especifique as propriedades associadas a custom ferramenta de construção:

    • Em Dependências adicionais, especifique quaisquer arquivos adicionais além para a qual a ferramenta de compilação personalizada é definida (o arquivo associado com a ferramenta de compilação personalizada implicitamente é considerado uma entrada para a ferramenta).Ter arquivos adicionais de entrada não é um requisito para uma ferramenta de compilação personalizada.Se você tiver mais de uma entrada adicional, separe-os com ponto e vírgula.

      Se um Dependências adicionais data do arquivo é posterior ao arquivo de entrada, em seguida, a ferramenta de compilação personalizada for executada.Se todos os da Dependências adicionais arquivos são mais antigos que o arquivo de entrada e o arquivo de entrada é mais antigo que o saídas arquivo de propriedades, em seguida, a ferramenta de compilação personalizada não é executado.

      Por exemplo, suponha que você tenha uma ferramenta de compilação personalizada que usa MyInput.x como entrada e gera o MyInput.cpp e que MyInput.x inclui um arquivo de cabeçalho, MyHeader.h.Você pode especificar MyHeader.h como uma dependência de entrada para MyInput.x e o sistema de compilação será construído MyInput.cpp quando ele estiver desatualizado em relação à MyInput.x ou MyHeader.h.

      Dependências de entrada também podem garantir que suas ferramentas de compilação personalizada é executado na ordem em que você precisa-los.No exemplo anterior, suponha que MyHeader.h é, na verdade, a saída de uma ferramenta de compilação personalizada.Como o MyHeader.h é uma dependência de MyInput.x, o sistema de compilação será construído pela primeira vez Myheader.h antes de executar a ferramenta de compilação personalizada em MyInput.x.

    • Na a linha de comando, especifique um comando como se foram a especificação no prompt de comando.Especifique um comando válido ou um arquivo em lotes e quaisquer dados iniciais necessários ou os arquivos de saída.Especificar o call comando antes do nome de um arquivo em lotes para garantir que todos os comandos subseqüentes são executados em lote.

      Podem ser especificados vários arquivos de entrada e saídos simbolicamente com macros do MSBuild.Para obter mais informações sobreespecificar o local dos arquivos ou os nomes dos conjuntos de arquivos, consulte Macros para construir comandos e propriedades.

      Porque o caractere '%' é reservado pelo MSBuild, se você especificar uma variável de ambiente substituir cada % escape de caractere com o %25 seqüência de escape hexadecimal.Por exemplo, substitua %WINDIR% com %25WINDIR%25.MSBuild substitui cada %25 de seqüência com o % de caracteres antes que ele acesse a variável de ambiente.

    • Em Descrição, digite uma mensagem descritiva sobre essa ferramenta de compilação personalizada.A mensagem é impressa para a saída janela quando o sistema de compilação processa essa ferramenta.

    • Em saídas, especifique o nome do arquivo de saída.Essa é uma entrada necessária; sem um valor para essa propriedade, a ferramenta de compilação personalizada não será executada.Se uma ferramenta de compilação personalizada tiver mais de uma saída, separe-os por ponto e vírgula.

      O nome do arquivo de saída deve ser o mesmo que ele seja especificado na a linha de comando propriedade.O sistema de compilação do projeto irá procurar o arquivo e verifique a sua data.Se o arquivo de saída é mais recente que o arquivo de entrada ou se o arquivo de saída não for encontrado, a ferramenta de compilação personalizada for executada.Se todos os da Dependências adicionais arquivos são mais antigos que o arquivo de entrada e o arquivo de entrada é mais antigo que o arquivo especificado na saídas propriedade, a ferramenta de compilação personalizada não é executada.

Se desejar que o sistema de compilação para operar em um arquivo de saída gerado pela ferramenta de compilação personalizada, você deve adicioná-lo manualmente ao projeto.A ferramenta de compilação personalizada atualizará o arquivo durante a compilação.

Exemplo

Suponha que você deseja incluir no seu projeto em um arquivo chamado parser.l.Você deseja que um analisador léxico para processar parser.l para produzir um arquivo. c que tem o mesmo nome de base (parser.c).

Primeiro, adicione parser.l e parser.c ao projeto.Se os arquivos ainda não existir, basta adicionar uma referência para os arquivos.Você cria uma ferramenta de compilação personalizada para parser.l e digite o seguinte na comandos propriedade:

lexer %(FullPath) .\%(Filename).c

Este comando será executado o analisador léxico em parser.l e parser.c para o diretório de projeto de saída.

No saídas propriedade, digite o seguinte:

.\%(Filename).c

Quando você constrói o projeto, o sistema de compilação compara os carimbos de hora de parser.l e parser.c.Se parser.l é mais recente, ou se parser.c não existir, o sistema de compilação executa o valor da a linha de comando propriedade para trazer parser.c atualizado.Desde que parser.c também foi adicionado ao projeto, o sistema de compilação compila, em seguida, parser.c.

Consulte também

Referência

Personalizações de compilação da solução de problemas

Outros recursos

Macros para construir comandos e propriedades