Подтвердить что ты не робот

Есть ли простой способ для COLOR-CODE выхода компилятора?

gcc (или другие компиляторы) часто генерируют огромный текстовый вывод, и очень сложно увидеть, где ошибка или пропустить предупреждения. Я сделал несколько поисков, но havn't нашел чистое простое решение для цветового кода вывода компилятора (так, например, предупреждения желтые, ошибки красные и т.д.)

4b9b3361

Ответ 1

здесь альтернатива, если вы ищете что-то очень простое:

#!/bin/bash -e

make ${@} 2>&1 | perl -wln -M'Term::ANSIColor' -e '
m/Building|gcc|g++|\bCC\b|\bcc\b/ and print "\e[1;32m", "$_", "\e[0m"
or
m/Error/i and print "\e[1;91m", "$_", "\e[0m"
or
m/Warning/i and print "\e[1;93m", "$_", "\e[0m"
or
m/Linking|\.a\b/ and print "\e[1;36m", "$_", "\e[0m"
or
print; '

Просто добавьте свой make к этому script и убедитесь, что он выполним...

Ответ 3

Debian и Ubuntu предоставляют пакет colorgcc для этой цели.

И я обычно запускаю gccmake) через emacs с помощью M-x compile, тогда сообщения раскрашиваются.

добавлений

GCC 4.9 имеет встроенную функцию раскраски и GCC 6 - выпущен в конце апреля 2016 года (и, возможно, GCC 5) позволяет по умолчанию (когда stdout является терминалом).

Ответ 4

См. colorgcc, perl script, который отображает вывод gcc.

Ответ 5

Хорошо, я просто оставлю уведомление о моем собственном инструменте на основе python:)

Он называется Pluggable Output Processor и предназначен не только для раскрашивания вывода одной конкретной программы. Вот пример GCC:

Pluggable Output Processor Before После: Pluggable Output Processor Before

Ответ 6

ColorMake будет раскрашивать вывод GCC и Make, выделяя предупреждения и ошибки. Он удобен специально для больших сложных выходов, попробуйте.

Screenshot

Ответ 7

вы можете использовать GilCC, который является инструментом Ruby, который преобразует вывод GCC в цвет в режиме реального времени. Сейчас у вас есть два варианта: Perl script (colorGCC) или GilCC, и если вы уже работаете с Ruby, вам понравится GilCC.

Уникальный для GilCC; GilCC имеет счетчик предупреждений и ошибок, а также показывает время компиляции, очень удобно, когда вы пытаетесь улучшить ситуацию. Потому что это в Ruby, это кросс-платформа. Он гибкий, и вы можете добавить больше драгоценных камней, чтобы настроить его в любом случае.

Ссылка на страницу загрузки находится здесь.

https://github.com/gilmotta/GilCC

Ответ 8

Хотя GCC 4.9 имеет параметр -fdiagnostics-color для включения цветных выходов на терминалы, я создал крошечный инструмент под названием crror ' для получения раскрашенного компилятора.

Он поддерживает выходы от make. Я могу добавить шаблоны раскраски для других инструментов, если кто-то требует.