Как включить дезинфицирующие средства в QMake?

Как включить использование дезинфицирующих средств в qmake .pro файлов?

Я нашел несколько ресурсов, которые изменяют QMAKE_CXXFLAGS, а вводный blogpost говорит:

он запланирован для ветви dev (Qt 5.2), потому что это новая функция, но вы должны быть в порядке, выбирая ее, например, Qt 5.0. Затем вы можете настроить Qt с помощью-address-sanitizer и запустить qmake CONFIG+=address_sanitizer для своего собственного приложения.

добавление CONFIG+=address_sanitizer похоже, не имеет эффекта.

1 ответов


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

CONFIG += sanitizer sanitize_address

параметры дезинфицирующего средства определены в mkspecs Qt (mkspecs/features/sanitizer.prf и mkspecs/common/sanitize.conf), который загружается при добавлении CONFIG += sanitizer. Быстрый взгляд в мой sanitizer.prf (Qt 5.7.0) показывает, что конкретными дезинфицирующими средствами являются:

  • sanitize_address
  • sanitize_memory
  • sanitize_thread
  • sanitize_undefined