【发布时间】:2019-03-06 08:30:18
【问题描述】:
我正在尝试通过将CONFIG += sanitizer sanitize_address 添加到我的.pro 文件中来在Qt 中使用gcc 地址清理程序,但我得到了error: cannot find -lasan。
我应该如何安装库?
我正在使用 Qt 提供的 MinGW,但我也可以尝试独立版本。
【问题讨论】:
标签: qt gcc mingw qt-creator address-sanitizer
我正在尝试通过将CONFIG += sanitizer sanitize_address 添加到我的.pro 文件中来在Qt 中使用gcc 地址清理程序,但我得到了error: cannot find -lasan。
我应该如何安装库?
我正在使用 Qt 提供的 MinGW,但我也可以尝试独立版本。
【问题讨论】:
标签: qt gcc mingw qt-creator address-sanitizer
不幸的是,GCC 不支持 Windows 上的 Asan:这是libsanitizer/configure.tgt 的摘录:
case "${target}" in
x86_64-*-linux* | i?86-*-linux*)
...
powerpc*-*-linux*)
...
sparc*-*-linux*)
...
s390*-*-linux*)
...
sparc*-*-solaris2.11*)
...
arm*-*-linux*)
...
mips*64*-*-linux*)
...
mips*-*-linux*)
...
aarch64*-*-linux*)
...
x86_64-*-darwin[1]* | i?86-*-darwin[1]*)
...
x86_64-*-solaris2.11* | i?86-*-solaris2.11*)
...
*)
UNSUPPORTED=1
;;
esac
请注意,Clang 支持它(需要付出一些努力 - 详情请参阅 wiki),并且许多人已经成功使用它。
【讨论】:
ASAN, TSAN and USAN are great technologies which are available in GCC. Unfortunately they are not completely usable on Windows. A proper review and tests are needed before anything.here。你能确认它不能使用,所以我将你的答案标记为正确吗?