Я пытаюсь использовать clang-tidy для анализа своих проектов. Я использую следующую командную строку.
"C:\Program Files\LLVM\bin\clang-tidy.exe" -p G:\src\svn\SnKOpen\cpp\TTSApp\trunk\TTSApp --extra-arg=-D_DLL --extra-arg=-D_MT --extra-arg=-fms-compatibility-version=19.10 --extra-arg=-Wall --extra-arg=-Wmicrosoft --extra-arg=-Wno-invalid-token-paste --extra-arg=-Wno-unknown-pragmas --extra-arg=-Wno-unused-value "--extra-arg=-cxx-isystemC:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.25.28610\include" "--extra-arg=-cxx-isystemC:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.25.28610\atlmfc\include" "--extra-arg=-cxx-isystemC:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\VS\include" "--extra-arg=-cxx-isystemC:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\ucrt" "--extra-arg=-cxx-isystemC:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\um" "--extra-arg=-cxx-isystemC:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\shared" "--extra-arg=-cxx-isystemC:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\winrt" "--extra-arg=-cxx-isystemC:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\cppwinrt" "--extra-arg=-cxx-isystemC:\Program Files (x86)\Windows Kits\NETFXSDK\4.7.2\Include\um" "--extra-arg=-cxx-isystemC:\Program Files (x86)\Microsoft SDKs\Speech\v11.0\Include" --extra-arg=-cxx-isystemD:\vcpkg\installed\x64-windows\include --extra-arg=-cxx-isystemD:\vcpkg\installed\x86-windows\include "--extra-arg=-isystemC:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.25.28610\include" "--extra-arg=-isystemC:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.25.28610\atlmfc\include" "--extra-arg=-isystemC:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\VS\include" "--extra-arg=-isystemC:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\ucrt" "--extra-arg=-isystemC:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\um" "--extra-arg=-isystemC:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\shared" "--extra-arg=-isystemC:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\winrt" "--extra-arg=-isystemC:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\cppwinrt" "--extra-arg=-isystemC:\Program Files (x86)\Windows Kits\NETFXSDK\4.7.2\Include\um" "--extra-arg=-isystemC:\Program Files (x86)\Microsoft SDKs\Speech\v11.0\Include" --extra-arg=-isystemD:\vcpkg\installed\x64-windows\include --extra-arg=-isystemD:\vcpkg\installed\x86-windows\include G:\src\svn\SnKOpen\cpp\TTSApp\trunk\TTSApp\TTSApp.cpp
Мое понимание аргумента командной строки isystem заключается в том, что он добавляет каталог в SYSTEM include search path. Мое понимание clang-tidy состоит в том, что если вы не используете аргумент командной строки -system-headers, он не будет включать проблемы из системных заголовочных файлов. Кроме того, я понимаю, что файлы заголовков системы - это файлы в каталогах, расположенных в любом каталоге в списке систем или в любом каталоге в каталоге в списке систем.
У меня возникают многочисленные проблемы для заголовков Boost, расположенных в папке "D: \ vcpkg \ instal \ x64-windows \ include \ boost ...". Проблема в том, что каталог "D: \ vcpkg \ instal \ x64- windows" находится в моем списке систем, а каталог "D: \ vcpkg \ instal \ x64-windows \ include \ boost ..." находится под " D: \ vcpkg \ instal \ x64- windows. "
Если мое понимание clang-tidy и цели аргумента командной строки isystem правильное, clang-tidy не должен беспокоить меня этими проблемами .
Я также попытался использовать следующий аргумент командной строки.
"C:\Program Files\LLVM\bin\clang-tidy.exe" -p G:\src\svn\SnKOpen\cpp\TTSApp\trunk\TTSApp G:\src\svn\SnKOpen\cpp\TTSApp\trunk\TTSApp\TTSApp.cpp -- -D_DLL -D_MT -fms-compatibility-version=19.10 -Wall -Wmicrosoft -Wno-invalid-token-paste -Wno-unknown-pragmas -Wno-unused-value -cxx-isystem "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.25.28610\include" -cxx-isystem "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.25.28610\atlmfc\include" -cxx-isystem "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\VS\include" -cxx-isystem "C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\ucrt" -cxx-isystem "C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\um" -cxx-isystem "C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\shared" -cxx-isystem "C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\winrt" -cxx-isystem "C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\cppwinrt" -cxx-isystem "C:\Program Files (x86)\Windows Kits\NETFXSDK\4.7.2\Include\um" -cxx-isystem "C:\Program Files (x86)\Microsoft SDKs\Speech\v11.0\Include" -cxx-isystem D:\vcpkg\installed\x64-windows\include -cxx-isystem D:\vcpkg\installed\x86-windows\include -isystem "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.25.28610\include" -isystem "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.25.28610\atlmfc\include" -isystem "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\VS\include" -isystem "C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\ucrt" -isystem "C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\um" -isystem "C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\shared" -isystem "C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\winrt" -isystem "C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\cppwinrt" -isystem "C:\Program Files (x86)\Windows Kits\NETFXSDK\4.7.2\Include\um" -isystem "C:\Program Files (x86)\Microsoft SDKs\Speech\v11.0\Include" -isystem D:\vcpkg\installed\x64-windows\include -isystem D:\vcpkg\installed\x86-windows\include
Результат тот же.