我正在学习使用 LLVM 作为后端构建编译器。
我按照 getting started with the LLVM system 上的步骤操作直到setting up your environment
[/path/to/your/bitcode/libs]的具体位置是什么?
当我在终端中输入 lli
时,此错误是否导致找不到命令
?
//我正在尝试构建一个hello world
来查看整个编译过程
最佳答案
您可以将LLVM_LIB_SEARCH_PATH
放在任何您想要的位置。现在,您可能根本不需要担心它;正如文档所说,它是可选的。稍后,您可以创建位代码(即编译后的 VM 代码)函数,并将其链接到编译器生成的位代码中。例如,您可能需要为可执行文件创建某种标准库和运行时环境。
这与 lli
未找到错误无关,这是由于 LLVM 二进制文件尚未安装或已安装在 $PATH 之外的某个位置的结果。
默认情况下,llvm 软件包将自行配置为安装在前缀 /usr/local
下,这意味着在 gmake install
后,您应该找到 lli
和 /usr/local/bin/lli
等地方的 friend 。它可能在也可能不在你的 $PATH 中;要查找答案,请输入
echo "$PATH"
并查看其中是否有 :/usr/local/bin:
。如果没有,那么你可以更改你的路径:
export PATH="/usr/local/bin:$PATH"
要使其永久生效,您必须将其添加到 bash 启动文件中。
但您可能不希望将其安装在那里。我通常将我正在使用的软件安装在本地目录树中,这样我就不必一直 sudo
。您可以使用 --prefix
参数将安装目录树的根更改为 ./configure
。 (您必须在构建 LLVM 之前执行此操作。)./configure --help
将提供有关配置选项的更多信息,但 --prefix
code> 当然是最重要的。
无论做什么,都不要盲目去做。在执行此操作之前,请确保您了解这一切的含义。如果您计划制作编译器,则需要了解典型构建和运行时环境的一些细节;不幸的是,PATH 和配置脚本位于您至少应该稍微熟悉的一长串内容中。
据我了解,Mac OS X 上已经安装了 LLVM 的某些版本,因此您需要小心,以免安装造成干扰。事实上,bash 报告 lli
无法找到,这可能表明尚未安装所有工具,这将使事情变得不那么复杂。
恐怕我没有任何在 Mac 上安装 LLVM 的经验,但如果您遇到特定问题(例如“安装 LLVM 后我的编译器无法工作”),那么您可以询问带有适当标签的具体问题。
关于macos - 在 OS X 上为 LLVM 设置环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27883453/