15

如何在 QMake 的.pro文件中启用消毒剂的使用?

我发现了几个可以QMAKE_CXXFLAGS自行修改的资源,但介绍性博文说:

它计划用于开发分支(Qt 5.2),因为它是一个新功能,但您应该可以将其挑选到例如 Qt 5.0 中。然后,您可以使用 -address-sanitizer 配置 Qt,并为您自己的应用程序运行 qmake CONFIG+=address_sanitizer。

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

4

1 回答 1

28

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

CONFIG += sanitizer sanitize_address

sanitizer 选项在 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
于 2016-08-19T14:12:40.833 回答