apt-get 安装后未找到 LLVM header

LLVM header not found after apt-get install

我使用 LLVM Nightly packages link.

中给出的以下命令安装了 llvmclang 3.9 以及所有其他软件包
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

然后我尝试根据 this tutorial.

编译和 运行 万花筒语言的示例词法分析器和解析器

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

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 源进行手动构建安装的情况下修复此错误?

这看起来像是教程中的错误 -- toy.cpp 中的代码过去是独立的,但现在依赖于 LLVM 头文件(这是 a recent change)。

您可以使用the command provided in chapter 3来构建,即:

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