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