Включить анализ Visual Studio C++ Core Проверить только файлы проекта?

Я большой поклонник основных принципов C++, и мне нравится следовать им во всех проектах, над которыми я работаю, поэтому я включил следующий вариант в свой шаблон проекта в Visual Studio 2017:

The C++ Core Check project option

Этот инструмент отличный и помогает мне лучше писать код, но я просто не могу понять, как сделать его только анализом моих файлов. Всякий раз, когда у моего проекта есть зависимость, такая как Boost или OpenCV, я получаю оштукатуренную стену предупреждений:

C++ Core Check warnings on dependencies

Эти зависимости добавляются через vcpkg, однако то же самое происходит при их добавлении вручную с помощью C/C++ > General > Additional Include Directories.

Есть ли способ только сделать эти предупреждения применимыми к файлам проекта, а не ко всем включенным файлам?

Ответы

Ответ 1

Как уже упоминалось в комментариях, сразу после следующего раздела в вашем .vcxproj в конце файла:

<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
  <ImportGroup Label="ExtensionTargets">
</ImportGroup>

Проблема может быть решена путем добавления следующего после упомянутого выше раздела:

<PropertyGroup Condition="'$(Language)'=='C++'">
  <CAExcludePath>$(QTDIR)\include;.\GeneratedFiles;$(CAExcludePath)</CAExcludePath>
</PropertyGroup>

Кроме того, если вы используете vcpkg, что было в моей ситуации, вам нужно добавить следующий элемент в CAExcludePath:

$(VcpkgRoot)include

Это гарантирует, что все заголовки из любых пакетов не будут проанализированы.