Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Uma ferramenta de compilação personalizada fornece ao sistema de compilação as informações necessárias para criar arquivos de entrada específicos. Uma ferramenta de compilação personalizada especifica um comando a ser executado, uma lista de arquivos de entrada, uma lista de arquivos de saída gerados pelo comando e uma descrição opcional da ferramenta.
Para obter informações gerais sobre ferramentas de compilação personalizadas e etapas de compilação personalizadas, consulte Noções básicas sobre etapas de compilação personalizadas e eventos de compilação.
Para especificar uma ferramenta de compilação personalizada
Abra a caixa de diálogo Property Pages do projeto. Para obter mais informações, consulte Definir compilador C++ e criar propriedades no Visual Studio.
Escolha Propriedades de configuração para ativar a caixa Configuração . Na caixa Configuração , selecione a configuração para a qual você deseja especificar uma ferramenta de compilação personalizada.
No Gerenciador de Soluções, selecione o arquivo de entrada para a ferramenta de compilação personalizada.
Se a pasta Custom Build Tool não aparecer, a extensão de arquivo do arquivo selecionado estará associada a 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 nó Propriedades de Configuração , na pasta Geral , na propriedade Tipo de Item , escolha Ferramenta de Compilação Personalizada. Escolha Aplicar e o nó Ferramenta de compilação personalizada será exibido.
No nó Ferramenta de compilação personalizada , na pasta Geral , especifique as propriedades associadas à ferramenta de compilação personalizada:
Em Dependências Adicionais, especifique quaisquer arquivos adicionais além daquele para o qual a ferramenta de compilação personalizada está sendo definida (o arquivo associado à ferramenta de compilação personalizada é implicitamente considerado uma entrada para a ferramenta). Ter arquivos de entrada adicionais não é um requisito para uma ferramenta de compilação personalizada. Se você tiver mais de uma entrada adicional, separe-as com ponto-e-vírgula.
Se a data de um arquivo de dependências adicionais for posterior ao arquivo de entrada, a ferramenta de compilação personalizada será executada. Se todos os arquivos de dependências adicionais forem mais antigos que o arquivo de entrada e o arquivo de entrada for mais antigo que o arquivo de propriedade Outputs , a ferramenta de compilação personalizada não será executada.
Por exemplo, suponha que você tenha uma ferramenta de compilação personalizada que usa MyInput.x como entrada e gera 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 criará MyInput.cpp quando estiver desatualizado em relação a MyInput.x ou MyHeader.h.
As dependências de entrada também podem garantir que suas ferramentas de compilação personalizadas sejam executadas na ordem em que você precisa. No exemplo anterior, suponha que MyHeader.h é realmente a saída de uma ferramenta de compilação personalizada. Como MyHeader.h é uma dependência de MyInput.x, o sistema de compilação primeiro compilará Myheader.h antes de executar a ferramenta de compilação personalizada em MyInput.x.
Em Linha de Comando, especifique um comando como se estivesse especificando-o no prompt de comando. Especifique um comando ou arquivo em lotes válido e todos os arquivos de entrada ou saída necessários. Especifique o comando call batch antes do nome de um arquivo em lotes para garantir que todos os comandos subsequentes sejam executados.
Vários arquivos de entrada e saída podem ser especificados simbolicamente com macros MSBuild. Para obter informações sobre como especificar o local dos arquivos ou os nomes dos conjuntos de arquivos, consulte Macros comuns para comandos e propriedades de compilação.
Como o caractere '%' é reservado pelo MSBuild, se você especificar uma variável de ambiente, substitua cada % caractere de escape pela %25 sequência de escape hexadecimal. Por exemplo, substitua %WINDIR% por %25WINDIR%25. MSBuild substitui cada sequência %25 pelo carácter % antes de aceder à variável de ambiente.
Em Descrição, insira uma mensagem descritiva sobre essa ferramenta de compilação personalizada. A mensagem é impressa na janela Saída quando o sistema de compilação processa essa ferramenta.
Em Saídas, especifique o nome do arquivo de saída. Esta é uma entrada obrigató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 nomes de arquivo com um ponto-e-vírgula.
O nome do arquivo de saída deve ser o mesmo especificado na propriedade Command Line . O sistema de compilação do projeto procurará o arquivo e verificará sua data. Se o arquivo de saída for mais antigo que o arquivo de entrada ou se o arquivo de saída não for encontrado, a ferramenta de compilação personalizada será executada. Se todos os arquivos de dependências adicionais forem mais antigos do que o arquivo de entrada e o arquivo de entrada for mais antigo do que o arquivo especificado na propriedade Outputs , a ferramenta de compilação personalizada não será executada.
Se você quiser que o sistema de compilação opere 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 um arquivo chamado parser.l em seu projeto. Você tem um analisador lexical, lexer.exe, em seu caminho executável. Você deseja usá-lo para processar parser.l para produzir um arquivo .c que tenha o mesmo nome base (parser.c).
Primeiro, adicione parser.l e parser.c ao projeto. Se os ficheiros ainda não existirem, adicione uma referência aos ficheiros. Crie uma ferramenta de compilação personalizada para parser.l e digite o seguinte na propriedade Commands :
lexer %(FullPath) .%(nome do arquivo).c
Este comando executa o analisador lexical em parser.l e envia parser.c para o diretório do projeto.
Na propriedade Outputs , insira o seguinte:
.%(nome do arquivo).c
Quando tu crias o projeto, o sistema de compilação compara as datas e horas de parser.l e parser.c. Se parser.l for mais recente, ou se parser.c não existir, o sistema de compilação executará o valor da propriedade Command Line para atualizar o parser.c. Como parser.c também foi adicionado ao projeto, o sistema de compilação compila parser.c.
Ver também
Macros comuns para comandos de compilação e propriedades
Solução de problemas de personalizações de compilação