Я работаю над проектом C ++ с использованием Qt. Я включил синтезатор для проверки заголовков через мой vimrc, и все его контролеры (gcc, clang_check и clang_tidy) жалуются на одно и то же в моем проекте: они не могут найти конкретный заголовочный файл.
Файл заголовка, о котором идет речь, это ‘QtCore / qconfig-64.h’. И они правы, что этот файл не существует. Проблема в том, что этот файл не должен загружаться в проект, так как это 32-битный проект. QtCore / qconfig.h имеет направление препроцессора, информирующее проект о том, что включать:
#if __WORDSIZE == 32
#include "QtCore/qconfig-32.h"#elif __WORDSIZE == 64
#include "QtCore/qconfig-64.h"#else
#error "unexpected value for __WORDSIZE macro"#endif
Есть ли какое-то правильное решение, чтобы получить синтаксис для распознавания директивы препроцессора, выбирающей, какой заголовочный файл включить? Если нет, какие другие обходные пути могут быть доступны, чтобы заставить замолчать эти ошибки, минимизируя потерю полезности?
Увидеть :h 'syntastic_quiet_messages'
попробуйте это для вашего случая
let g:syntastic_c_gcc_quiet_messages = {
\ "regex": ['\mQtCore/qconfig-64\.h']
\}
Замечания: QtCore/qconfig-64\.h
может быть расширен до полного сообщения об ошибке, чтобы избежать пропуска других сообщений с той же строкой
Других решений пока нет …