apt-get install

时间:2016-10-28 15:01:20

标签: c++ llvm clang++

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

1 个答案:

答案 0 :(得分:7)

这看起来像教程中的一个错误 - 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