#c #compilation #g
#c #Сборник #g
Вопрос:
Я часто собираю с -Wfatal-errors
, потому что мне не нужны дополнительные 100 бессмысленных ошибок, в то время как компилятор героически пытается проанализировать оставшуюся часть исходного файла после опечатки, которая делает его бессмысленным.
Однако я заметил, что это также отключает диагностические заметки о самой фатальной ошибке. Например, с -Wfatal-errors
я получу, скажем,
main.cpp:10:2: error: invalid new-expression of abstract class type 'C'
new C();
в то время как, если у меня нет -Wfatal-errors
включения, я получу сообщение о том, какой виртуальный метод я забыл реализовать:
class.hpp:15:2 note: because the following virtual functions are pure within 'C':
class.hpp:28:6 void C::f()
Могу ли я вернуть эти заметки, сохраняя при этом поведение, при котором я завершаю работу после одной ошибки?
Ответ №1:
Вы ищете -fmax-errors=1
. Это приведет к завершению компиляции после первой ошибки, но все равно покажет примечания к этой ошибке.
Вот демонстрация для сравнения эффектов этих флагов.