Compartilhar via


Especificando as etapas de compilação personalizada

Uma etapa de compilação personalizada fornece o sistema de compilação com informações necessárias para criar arquivos de saída a partir de um arquivo de entrada.Uma etapa de compilação personalizada está anexada ao seu arquivo de entrada; ele contém os comandos para executar, uma lista dos arquivos de saída geradas por esses comandos e (opcionalmente) uma descrição do comando.

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

Para especificar uma etapa de compilação personalizada

  1. em aberto propriedade Páginas caixa de diálogo.Para obter detalhes, consulte Definindo propriedades do Visual C++ projeto.

  2. No Configuração, selecionar a configuração para o qual você deseja especificar uma etapa de compilação personalizada.

  3. No gerenciador de soluções, selecionar o arquivo de entrada para a etapa de compilação personalizada.

    Se o Etapa de compilação personalizada pasta não for exibida, o arquivo selecionado tem uma etapa padrão associada a ele.Por exemplo, os arquivos .c e .cpp tem uma etapa padrão para chamar o compilador.Para substituir uma configuração padrão, modifique o Tool propriedade, que está sendo o Definições de configuração pasta.

  4. Especifique as propriedades associadas a personalizado criar etapa:

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

      Se um Dependências adicionaisData do arquivo é posterior ao arquivo de entrada e, em seguida, a regra de compilação personalizada será executada.Se todos os Dependências adicionais arquivos são mais antigos que o arquivo de entrada e o arquivo de entrada é mais antigo que o Saídasarquivo e, em seguida, a etapa de compilação personalizada não será executado.

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

      Dependências de entrada também podem garantir que as etapas de compilação personalizada são executadas na ordem em que precisam deles para.No exemplo anterior, suponha que MyHeader.h seja na verdade, a saída de uma etapa de compilação personalizada.Como uma dependência de MyInput.x MyHeader.h, o sistema de compilação criará primeiro Myheader.h antes de executar a etapa de compilação personalizada em MyInput.x.

    • In Linha de comando, especifique a sintaxe da regra de compilação personalizada.Esta sintaxe pode incluir qualquer comando que é legal na linha de comando ou em um arquivo .bat.Convém usar Macros para construir comandos e propriedades para especificar locais para arquivos ou para obter o nome real do arquivo de entrada no caso de várias seleções.O nome de um arquivo lote deve ser precedido por telefonar para garantir que todos os comandos subseqüentes serão executados.

    • In Descrição, digite uma descrição do personalizado criar etapa.Isso será impresso o Saída janela quando o sistema de compilação processa esta etapa.

    • In Saídas, especifique o nome do arquivo de saída.Esta é uma entrada necessária; sem um valor para essa propriedade, a etapa de compilação personalizada não será executado.Se uma etapa de compilação personalizada tem mais de uma saída, separe os nomes de arquivo com um ponto-e-vírgula.

      O nome do arquivo de saída deve ser o que está especificado no Linha de comandopropriedade .O sistema de compilação do projeto irá procurar o arquivo e verifique sua data.Se o arquivo é mais recente do que o arquivo de entrada ou se o arquivo não for encontrado, a etapa de compilação personalizada será executado.Se todos os Dependências adicionais arquivos são mais antigos que o arquivo de entrada e o arquivo de entrada é mais antigo que o Saídasarquivo e, em seguida, a etapa de compilação personalizada não será executado.

Se desejar que o sistema de compilação para operar em um arquivo de saída gerado pela etapa de compilação personalizada, você deve adicioná-lo manualmente para o projeto.A etapa 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ê quer um analisador léxico para processar parser.l para produzir um arquivo. c com o mesmo nome base (parser.c).

Primeiro, adicione parser.l e parser.c para o projeto.Se os arquivos ainda não existirem, você apenas adicionar uma referência aos arquivos.Você cria uma etapa de compilação personalizada para parser.l e digite o seguinte no Comandos propriedade:

lexer $(InputPath) .\$(InputName).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:

.\$(InputName).c

Quando você constrói o projeto, o sistema de compilação compara os carimbos de data e 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 Comando propriedade trazer parser.c atualizado.Como parser.c também foi adicionado para o projeto, o sistema de compilação, em seguida, continuará compilar parser.c.

Consulte também

Referência

Solucionando problemas de etapas de compilação personalizada e eventos de compilação

Outros recursos

Macros para compilação comandos e propriedades