如何在使用 g++ 编译时修复“ld: library not found for -lubsan”?

时间:2021-01-17 06:33:49

标签: gcc macos-big-sur sanitizer

当我尝试使用 eek.cpp 标志编译我的 g++ eek.cpp -o eek -fsanitize=undefined 文件时,它显示:

ld: library not found for -lubsan
collect2: error: ld returned 1 exit status

但是 g++ eek.cpp -o eek 工作正常。 My terminal screenshot here.

我在 macOS Big Sur 上使用 zsh 和 gcc 10.2.0。在我从 Catalina 更新我的 macOS 之前,fsanitize=undefined 昨天仍在工作。

ubsan.h 中确实存在 /usr/local/Cellar/gcc/10.2.0_2/lib/gcc/10/gcc/x86_64-apple-darwin20/10.2.0/plugin/include 文件,但它不起作用。 我也读过 this post 但它没有解决我的问题。我该如何解决?

1 个答案:

答案 0 :(得分:0)

自从我更新我的 macOS 以来,我遇到了同样的问题,但刚刚用 brew upgrade 解决了这个问题。 很抱歉,我不能说出这个问题涉及到什么公式,但更新公式值得一试。