ошибка cpplint, когда мне нужно, чтобы заголовок был включен перед любым другим заголовком

#c #lint #cpplint

#c #lint #cpplint

Вопрос:

У меня есть заголовок, который в определенных файлах должен быть впереди любых других заголовков. Но cpplint жалуется следующим образом:

Найден системный заголовок C после другого заголовка. Должно быть: V iew.h, c system, c system, other. [build/include_order] [4]

и в некоторых случаях:

Найден системный заголовок C после другого заголовка. Должно быть: TorqRootViewWin10.h, система c, c system, другое. [build/include_order] [4]

Я подумал, что, возможно, // NOLINT мог бы сработать, но, похоже, это работает только с ошибками в конкретной строке, в которую он добавлен, в этом случае ошибки находятся в следующих строках, а не в строке заголовка, который я включил раньше других. Другой вариант, который у меня есть, — использовать // NOLINT во всех других строках, следующих за моим заголовком. Но это кажется грязным. Есть ли какой-либо другой способ сделать это?

Ответ №1:

Нет, синтаксис NOLINT довольно ограничен, также смотрите Google # 31.

Категорию ошибки можно удалить в параметрах командной строки, чтобы никогда не проверять порядок включения, если ваш проект не хочет следовать порядку, требуемому cpplint.

Из описания вашей ошибки я не могу сказать, считаете ли вы, что cpplint ошибочен или непоследователен в своем предупреждении, или вы просто хотите упорядочить свои заголовки иначе, чем cpplint.