C++ 在C+中使用clang作为库+;项目

C++ 在C+中使用clang作为库+;项目,c++,clang,llvm-clang,llvm-c++-api,C++,Clang,Llvm Clang,Llvm C++ Api,我试图将clang用作库,但我不确定如何链接Makefile中的文件 正在从以下位置尝试ASTVisitor代码: 以下是我的Makefile供参考: CC=g++ Includes= /usr/lib/llvm-6.0/include/ Libs= /usr/lib/llvm-6.0/lib/ CLANGLIBS=-lclangTooling -lclangFrontendTool -lclangFrontend -lclangDriver -lclangSerialization -lcla

我试图将clang用作库,但我不确定如何链接Makefile中的文件

正在从以下位置尝试ASTVisitor代码:

以下是我的Makefile供参考:

CC=g++
Includes= /usr/lib/llvm-6.0/include/
Libs= /usr/lib/llvm-6.0/lib/
CLANGLIBS=-lclangTooling -lclangFrontendTool -lclangFrontend -lclangDriver -lclangSerialization -lclangCodeGen -lclangParse -lclangSema -lclangStaticAnalyzerFrontend -lclangStaticAnalyzerCheckers -lclangStaticAnalyzerCore -lclangAnalysis -lclangARCMigrate -lclangRewrite -lclangRewriteFrontend -lclangEdit -lclangAST -lclangLex -lclangBasic -lclang

run:
    LD_PRELOAD=../../llvm-project/build/lib/libclang.so ./clang_parser.out

all: clang_parser.cpp
    $(CC) -I$(Includes) -L$(Libs) clang_parser.cpp -o a.out $(CLANGLIBS)
clean:
    rm clang_parser.out
我已将clang安装为库,即完成
sudo apt get安装libclang dev

我得到以下错误:

clang_parser.cpp:13:10: fatal error: clang/Frontend/FrontendActions.h: No such file or directory
#include <clang/Frontend/FrontendActions.h>
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
Makefile:10: recipe for target 'all' failed
make: *** [all] Error 1
clang_parser.cpp:13:10:致命错误:clang/Frontend/FrontendActions.h:没有这样的文件或目录
#包括
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
编译终止。
Makefile:10:目标“全部”的配方失败
make:**[all]错误1

对于在C/C++项目中使用apt安装的软件包的任何最佳实践,我们也表示赞赏。

安装了许多软件包,以确保:

sudo apt-get install libclang-dev llvm clang clang-tools
这是供参考的编译命令(包括所有可能使用的库):

在哪里

CLANGLIBS2=-lclangTooling -lclangFrontendTool -lclangFrontend -lclangDriver -lclangSerialization -lclangCodeGen -lclangParse -lclangSema -lclangStaticAnalyzerFrontend -lclangStaticAnalyzerCheckers -lclangStaticAnalyzerCore -lclangAnalysis -lclangARCMigrate -lclangRewrite -lclangRewriteFrontend -lclangEdit -lclangAST -lclangASTMatchers -lclangLex -lclangBasic -lclang
通过执行以下操作,将/usr/lib/llvm-6.0/lib中的所有.so.a文件设置为LD_LIBRARY_路径:

export LD_LIBRARY_PATH=/usr/lib/llvm-6.0/lib
ldconfig
export LD_LIBRARY_PATH=/usr/lib/llvm-6.0/lib
ldconfig