在apt-get安装后没有找到LLVM头文件

LLVM header not found after apt-get install

本文关键字:LLVM 文件 apt-get 安装      更新时间:2023-10-16

我使用以下命令安装了llvmclang 3.9以及所有其他软件包,这些命令是在LLVM Nightly packages链接中给出的。

sudo apt-get install clang-3.9 clang-3.9-doc llvm-3.9 llvm-3.9-dev llvm-3.9-doc llvm-3.9-examples llvm-3.9-runtime clang-format-3.9 python-clang-3.9 libclang-common-3.9-dev libclang-3.9-dev libclang1-3.9 libclang1-3.9-dbg libllvm-3.9-ocaml-dev libllvm3.9 libllvm3.9-dbg lldb-3.9 lldb-3.9-dev liblldb-3.9-dbg

然后我尝试按照本教程编译并运行kaleidoscope语言的样例词法分析器和解析器。

但是,我无法编译给定的示例程序,因为我得到错误:

clang++-3.9 -g -O3 toy.cpp
toy.cpp:1:10: fatal error: 'llvm/ADT/STLExtras.h' file not found
#include "llvm/ADT/STLExtras.h"
         ^
1 error generated.

我认为这个错误是因为LLVM被安装为llvm-3.9,因此所有的文件都安装在以*-3.9结尾的目录中。如何修复此错误,而无需删除安装并从LLVM源代码进行手动构建安装?

这看起来像是教程中的一个bug——toy.cpp中的代码曾经是自包含的,但现在它依赖于LLVM头文件(这是最近的更改)。

您可以使用第三章提供的命令来代替,即:

clang++ -g -O3 toy.cpp `llvm-config --cxxflags --ldflags --system-libs --libs core` -o toy