windows上的VC2019地址消毒器64位链接错误“;未解析外部符号“U asan”U shadow“U memory”U dynamic“U address”;

windows上的VC2019地址消毒器64位链接错误“;未解析外部符号“U asan”U shadow“U memory”U dynamic“U address”;,c,visual-studio,qt,address-sanitizer,cl,C,Visual Studio,Qt,Address Sanitizer,Cl,下面是一个简单的程序 #include <malloc.h> int main(int argc, char **argv) { char* arr=malloc(10); arr[10]='\0'; return 0; } 查看带有dumpbin的clang\u rt.asan\u dynamic-x86\u 64.lib中缺少的符号。 请注意,在这两种体系结构上,示例的静态链接(不带_dynamiclibs)都可以工作,但我需要动态链接,因为依赖关系更大

下面是一个简单的程序

#include <malloc.h>
int main(int argc, char **argv)
{
    char* arr=malloc(10);
    arr[10]='\0';
    return 0;
}
查看带有
dumpbin
clang\u rt.asan\u dynamic-x86\u 64.lib
中缺少的符号。 请注意,在这两种体系结构上,示例的静态链接(不带_dynamiclibs)都可以工作,但我需要动态链接,因为依赖关系更大(Qt-dll)。 有人已经发现了吗

尊敬的Leo,我需要另外一个64位的链接库,另外还有一个
clang\u rt.asan\u dynamic\u runtime\u thunk-x86\u 64.lib

cl-MD-fsanize=address clang\u rt.asan\u dynamic-x86\u 64.lib clang\u rt.asan\u dynamic\u runtime\u thunk-x86\u 64.lib xx.c

正确链接程序,并在启动程序后显示消毒器错误

该页面有一个很好的表,其中列出了所有不同的构建模型以及需要的asan LIB

> cl -Zi -fsanitize=address -MD clang_rt.asan_dynamic-x86_64.lib xx.c
Microsoft (R) C/C++ Optimizing Compiler Version 19.28.29336 for x64
Copyright (C) Microsoft Corporation.  All rights reserved.

xx.c
Microsoft (R) Incremental Linker Version 14.28.29336.0
Copyright (C) Microsoft Corporation.  All rights reserved.

/out:xx.exe
/debug
clang_rt.asan_dynamic-x86_64.lib
xx.obj
xx.obj : error LNK2019: unresolved external symbol __asan_shadow_memory_dynamic_address referenced in function main
xx.exe : fatal error LNK1120: 1 unresolved externals