Как я могу индивидуально обрабатывать ошибки и предупреждения, выдаваемые компилятором GCC?
Например, если программа скомпилирована,
Как бы я получить все ошибки, чтобы перейти к «error.txt»
и все предупреждения перейти на "warnings.txt"
Я предполагаю, что есть простое решение для этого, но позвольте мне предоставить более подробную информацию:
Я написал make-файл GNU для компиляции с GCC, и правила make-файла выполняются bash.
Я хотел бы, чтобы это решение о ветвлении имело место в правиле моего make-файла.
Так может быть что-то вроде этого, например:
if (PROGRAM_HAS_NO_ERRORS_OR_WARNINGS); then\
echo "Everything went well";\
else\
if (PROGRAM_HAS_WARNINGS); then\
echo "HERE ARE THE WARNINGS: " $(PROGRAM_WARNINGS);\
fi;\
if (PROGRAM_HAS_ERRORS); then\
echo "HERE ARE THE ERRORS: " $(PROGRAM_ERRORS);\
fi;\
fi;
У меня сложилось впечатление, что предупреждения были предупреждены ... и ошибки были ошибочными ..
и этот cout соответствовал 1, а cerr соответствовал 2.
Однако, когда я запускаю что-то вроде этого:
$(COMPILE) 1>warnings.txt 2>errors.txt
все идет к ошибкам.txt
Так что я определенно не хочу отправлять его в файл, а затем анализировать его, если есть более простой способ.
некоторые другие заметки, которые могут быть не важны:
if ($(COMPILE)); then\
/ \, даже если есть предупреждения, оно оценивается как истинное ... UNLESS
Я предоставляю флаг "-Werror", который просто выводит предупреждения об ошибках, а gcc отказывается компилировать программу