Ao compilar, os erros geralmente são acompanhados por uma longa série de notas (ciano). Existe um sinalizador g++ para desabilitar isso, mostrando apenas o erro em si?
relate perguntas
-
Quando os diretórios "lib" e "include" devem ser criados ao compilar a partir do código-fonte?
-
Crie um script bash multi-script que seja compilado e mantenha um log
-
Meson não encontra as bibliotecas do Boost
-
Como recompilar tudo eficientemente em um sistema Gentoo Linux?
-
O OpenVPN auto-compilado não inicia a partir do systemd
Você pode usar uma ferramenta antiga e sem suporte, como STLFilt .
Você pode alternar para o Clang ou usá-lo apenas para relatar erros e executar sua compilação final no GNU g++ .
Você pode se familiarizar mais com o STL, o que facilitará a decifração.
Uma boa compreensão do STL e de como usá-lo ajudará a evitar muitos erros em primeiro lugar. Em segundo lugar, muitas vezes as mensagens de erro referem-se a funções na fonte STL - se você tiver uma ideia aproximada de como o STL é implementado, isso pode ser extremamente útil para decifrar o que está acontecendo na mensagem de erro. As versões mais recentes do compilador g++ às vezes melhoram a saída, tornando-a mais útil e menos detalhada.
Não é exatamente o que você quer, mas pode encurtar a saída:
Use o sinalizador -fmax-errors ou a opção -Wfatal-errors :
O compilador não fará isso por você, mas (até agora...) os desenvolvedores do compilador estão seguindo uma convenção de longa data (mais de 30 anos) adaptada de outros compiladores que fornece as informações essenciais na primeira linha, usando
error:
ouwarning:
para marcar o aviso . Se você grep stderr para eles, verá as informações mínimas de aviso/erro.grep é um bom ponto de partida (e a saída "grep -n" é útil por si só). Essas mensagens seguem um padrão de nome de arquivo, número de linha, mensagem que é comum a várias ferramentas. Eu usei isso no vi-like-emacs aqui .
Recentemente (em 2014) o gcc/g++ começou a adicionar uma "pilha de chamadas" às mensagens, que fornece informações extras. Isso depende de uma alteração no pré-processador para rastrear os números de linha que podem ser desativados com uma
-P
opção (observada aqui ), mas que parece estar incompletamente integrado de uma forma que suprimiria a pilha de chamadas.Usar o clang não ajudaria muito com isso; pode ser muito detalhado também. O desenvolvimento do gcc/g++ adicionou muitas mensagens, conforme observado aqui .