如何在QMake中启用消毒杀菌剂?

时间:2016-08-19 14:12:41

标签: c++ qt qt5 qmake sanitizer

如何在QMake的.pro文件中启用清洁剂?

我找到了几个自行修改QMAKE_CXXFLAGS的资源,但introductory blogpost说:

  

它被安排在开发分支(Qt 5.2),因为它是一个新功能,但你应该很好地挑选它,例如Qt 5.0。然后,您可以使用-address-sanitizer配置Qt,并为您自己的应用程序运行qmake CONFIG + = address_sanitizer。

但是,添加CONFIG+=address_sanitizer似乎没有效果。

1 个答案:

答案 0 :(得分:13)

要启用,例如地址清理程序,您必须写:

CONFIG += sanitizer sanitize_address

清理工具选项在Qt的mkspecs(mkspecs/features/sanitizer.prfmkspecs/common/sanitize.conf)中定义,当您添加CONFIG += sanitizer时,它会被加载。 快速浏览一下sanitizer.prf(Qt 5.7.0),可以看出具体的消毒剂是:

  • sanitize_address
  • sanitize_memory
  • sanitize_thread
  • sanitize_undefined