[已解决]clang 使用address-sanitize报错,ld找不到libclang_rt.*
当使用clang++14并且打来-fsanitize时,编译出错,
1 $ clang++ -O1 -g -fsanitize=address -fno-omit-frame-pointer infile.cc 2 /bin/ld: cannot find /usr/lib64/clang/14.0.5/lib/linux/libclang_rt.asan_static-x86_64.a: No such file or directory 3 /bin/ld: cannot find /usr/lib64/clang/14.0.5/lib/linux/libclang_rt.asan-x86_64.a: No such file or directory 4 /bin/ld: cannot find /usr/lib64/clang/14.0.5/lib/linux/libclang_rt.asan_cxx-x86_64.a: No such file or directory 5 clang-14: error: linker command failed with exit code 1 (use -v to see invocation)
解决办法:安装compiler-rt。例如sudo dnf install compiler-rt.
参考:
https://www.coder.work/article/800744
本文来自博客园,作者:安然春夏,转载请注明原文链接:https://www.cnblogs.com/weixicai/p/16986469.html。测试只能证明程序有错误,而不能证明程序没有错误。你必须非常努力,才能看起来毫不费力。