Как исключить или указать конфигурации сборки с помощью решения Visual Studio в cppcheck?

У меня есть полубольшое решение Visual Studio с рядом различных конфигураций сборки и различных платформ. Я действительно хочу проверить только одну или две конфигурации на одной платформе. Однако я не вижу в руководстве CppCheck способа выбрать конфигурацию сборки при использовании флага --project. Я пытался использовать --platform; однако это даже не просто выбор конфигураций для этой платформы (win64 по-прежнему проверяет конфигурации win32).

Есть ли способ с помощью CppCheck выбрать отдельную конфигурацию сборки в решении или, возможно, даже исключить определенные конфигурации?


person Dirv    schedule 27.03.2017    source источник


Ответы (1)


Я добавил параметр --project в Cppcheck.

В инструменте командной строки у вас нет хорошего способа выбрать одну конфигурацию. Это недостающая функция. Каким-то образом я хочу дать пользователю некоторый контроль над этим, но я не хочу добавлять дополнительные аргументы cppcheck. Я думаю, что опция --platform должна исключать несоответствие конфигураций, это хорошее начало.

Для информации; в графическом интерфейсе вы можете выбрать платформу и получить анализ только первой соответствующей конфигурации DEBUG.

person Daniel Marjamäki    schedule 31.08.2018
comment
Есть ли прогресс в проверке только одной конкретной конфигурации проекта? Я использую CppCheck 1.87. - person Scrontch; 09.04.2019
comment
Я думаю, что это будет исправлено в ближайшее время. есть запрос на вытягивание.. github.com/danmar/cppcheck/pull/1795 - person Daniel Marjamäki; 10.04.2019
comment
Это было бы прекрасно! Кроме того, почему бы не использовать его в качестве переключателя командной строки? Пожалуйста, разрешите это в командной строке. - person Scrontch; 12.04.2019
comment
Я осторожно добавляю переключатели командной строки. Я не думаю, что командные строки с сотнями случайных параметров командной строки так уж полезны. Если мы добавим каждую опцию, которую люди хотят иметь, скоро будет 100 случайных опций. Опция с графическим интерфейсом намного более гибкая; мы можем легко трансформировать и группировать эти параметры, когда мы видим в этом необходимость. - person Daniel Marjamäki; 13.04.2019
comment
CppCheck — это, безусловно, инструмент, полезный в автоматизированной среде сборки. И для них переключатели командной строки гораздо полезнее — я бы даже сказал, необходимы — по сравнению с неуклюжими конфигурационными файлами. Означает ли параметр GUI, что я должен использовать графический интерфейс, чтобы использовать его? Пожалуйста не! Это не позволяет использовать его в автоматизированной среде. Пожалуйста, подумайте об этом. - person Scrontch; 14.04.2019
comment
Я думаю, что использование в различных сценариях CI является приоритетным. Для doxygen есть сотни вариантов. Они решили иметь файл конфигурации. Мне кажется, что это путь вперед и для Cppcheck. Имхо неуклюже иметь сотни параметров командной строки. Моя идея заключается в том, что вы настроите cppcheck с помощью графического интерфейса, но сценарии CI и т. д. могут просто запускать инструмент командной строки. Вот как работает доксиген. - person Daniel Marjamäki; 15.04.2019
comment
Некоторые другие расширенные параметры я предпочитаю держать подальше от командной строки; настраиваемое расположение файла дампа, максимальная глубина ctu, проверка кода в заголовках, проверка кода в неиспользуемых шаблонах, вывод результатов в формате plist, перенаправление результатов в файл, различные параметры дополнений, например, тексты правил misra, путь для двоичного файла python и т. д. Большинство из них опции теперь доступны в проекте графического интерфейса. Если мы начнем добавлять все параметры, которые люди хотят иметь в командной строке, я думаю, у нас скоро будет 100 параметров. - person Daniel Marjamäki; 15.04.2019