Como posso tornar a construção do Visual Studio muito detalhada?

98

Preciso controlar cada sinalizador, cada opção usada no processo de compilação pelos binários do Visual Studio. Tentei obter uma saída detalhada usando vcbuild, mas não consegui.

O que devo fazer para ver tudo executado pelo Visual Studio para mim? Não é necessário obter a saída na janela de construção. Qualquer lugar estaria bem.

Geo
fonte
1
Duplicata exata stackoverflow.com/questions/823854/... .
JesperE

Respostas:

67
  1. Abra a caixa de diálogo de propriedades do projeto e escolha

    Propriedades de configuraçãoC / C ++Geral

  2. Altere a configuração de Suppress Startup BannerparaNo

  3. A cl(s) linha (s) de comando serão mostradas na janela de saída.

Tim Dowty
fonte
1
Isso afeta apenas o compilador, não o vinculador ou os recursos.
user2284570
6
No VS2017, esse 'truque' parece não funcionar mais. No entanto, construir no prompt do desenvolvedor usando msbuild com o nome do arquivo da solução ou do projeto como argumento cli mostra a chamada cl com seus argumentos.
Emile Vrijdags
@EmileVrijdags Eu posso ver perfeitamente a clsaída do comando com VS2017 seguindo essas etapas. Portanto, o "truque" funciona para mim.
sobrinho
150

Menu FerramentasOpçõesProjetos e soluçõesCompilar e executarDetalhamento de saída de compilação do projeto MSBuild : Diagnóstico

Sam Harwell
fonte
2
Isso não muda nada. Ainda estou obtendo a mesma saída na janela de saída.
Geo
3
Funciona bem para mim no VC10.
abergmeier
2
@Geo entra em vigor assim que você reiniciar o Visual Studio.
absinto,
@absynce, no VS 2017 isso não tem efeito nem mesmo na reinicialização do Visual Studi0 2017. Estou usando o VS 2017 community edition. Portanto, essa funcionalidade não parece implementada corretamente no VS 2017.
Domingo
65

Visual Studio 2008:

Vá para o menu FerramentasOpções e, em seguida, Projeto e soluções → seção Construir e executar . Você tem uma caixa de combinação para verbosidade.

Opção de compilador C ++ (propriedades do projeto):

  • Pré-processador - Gerar arquivo pré-processado para ver a unidade de tradução gerada pelo pré-processador
  • Avançado - Mostrar inclui - exibe nomes de arquivos incluídos na saída do compilador
Cătălin Pitiș
fonte
1
Isso não mostra sinalizadores de compilação e vinculador, apenas nomes de arquivo que estão sendo processados. É possível ver os comandos exatos que são executados ou isso é impossível com o VS?
stefanB de
2
@stefanB: você não precisa de sinalizadores especiais para isso. As linhas de comando para a chamada do compilador e do vinculador podem ser encontradas na caixa de diálogo de opções ou no log de construção que está escrito no diretório intermediário.
Yakov Galka
8

Se você estiver executando o MSBuild, poderá definir o sinalizador / v: diag.

Joe
fonte
Como eu executaria o MSBuild?
Geo
inicie o prompt de comando do visual studio (está no menu Iniciar) e execute o projeto do visual studio com: MSBuild {ProjectName}
Joe
por exemplo, MsBuild myProject.csproj
Joe
Vejo chamadas MSBuild vcbuild, mas vcbuild não mostra os sinalizadores / opções que está usando.
Geo
Esta é a resposta adequada, creio. Apenas desligar a supressão de vários banners ainda não produz tudo. Em particular, a etapa de compilação de recursos era o que eu procurava.
João
5

No Visual Studio, vá para o seu projeto, clique com o botão direito sobre ele e selecione as propriedades. No Linker, há uma opção de linha de comando. Lá você tem todas as opções e pode adicionar suas opções personalizadas. Adicione /VERBOSEe, ao vincular, o Visual Studio mostrará muito mais informações.

javier-sanz
fonte
1
Mostra mais informações, mas não mostra as ferramentas que estão sendo chamadas para compilar.
Geo
2
O Visual Studio tem uma ferramenta de criação chamada nmake. Você pode exportar seu projeto para esses makefiles e compilá-lo a partir de um console do DOS msdn.microsoft.com/en-us/library/txcwa2xx(VS.80).aspx . Da última vez que fiz algo semelhante (mas usei o CMake para gerar os makefiles nmake), todos os comandos foram impressos na tela do console.
javier-sanz