LLVM opt 在 macOS Big Sur 上不起作用:-bash: opt: command not found

LLVM opt doesn't work on macOS Big Sur: -bash: opt: command not found

我使用 git clone https://github.com/llvm/llvm-project.git 从存储库下载了 LLVM,并使用以下命令将其安装在 macOS Big Sur 上:

$ cmake ../llvm -G "Unix Makefiles" \
-DCMAKE_INSTALL_PREFIX=~/llvm-project/build \
-DBUILD_SHARED_LIBS=on \
-DLLVM_ENABLE_PROJECTS=clang

安装顺利,我可以使用 clang -c -emit-llvm foo.c -o foo.bc 编译我的 foo.c 程序获得 foo.bc.

但是,当我使用opt -dot-cfg foo.bc获取CFG时,出现了这个错误:-bash: opt: command not found.

有人遇到过这个错误吗? O.S 以前版本的解决方案。没用!

克隆 git 项目时,不需要包含该文件。您只需要输入

git clone https://github.com/llvm

调用命令时使用两个点。

../llvm

这告诉 bash“向上移动一个目录级别”并且 llvm 不是向上一个目录级别。这将起作用:

cmake ./llvm -G "Unix Makefiles" \
-DCMAKE_INSTALL_PREFIX=~/llvm-project/build \
-DBUILD_SHARED_LIBS=on \
-DLLVM_ENABLE_PROJECTS=clang

工具 opt 安装在 $HOME/llvm-project/build/bin

您需要在 $PATH

中添加 $HOME/llvm-project/build/bin

“我可以使用 clang 编译我的 foo.c 程序 - 你确定你使用的是新建的 clang 而不是XCode 附带的那个? opt 应该在 ~/llvm-project/build/bin 内,与 clang 并排。 – 由@mcilloni 于 5 月 2 日在 17:38

解决