cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_PROJECTS='clang;lldb' -DLLVM_TARGETS_TO_BUILD="X86" -DCMAKE_C_COMPILER=/usr/bin/clang -DCMAKE_CXX_COMPILER=/usr/bin/clang++ -DLLVM_ENABLE_RUNTIMES='libcxx;libcxxabi;libunwind' ../llvm
ninja
sudo ninja install
llvm-config --cxxflags --ldflags --system-libs --libs core
新建一个CLT项目
点击项目进入配置界面,在配置前,先执行下面指令来获取配置信息:
llvm-config --cxxflags --ldflags --system-libs --libs
输出结果:

然后,在TARGETS的Build Settings下,搜索library search,双击Library Search Path后面的空白处,点击+,复制上述输出结果中-L开头的:/usr/local/lib

然后,搜索header search,双击Header Search Path后面的空白处,点击+,复制上述输出结果中-I开头的:/usr/local/include

然后,搜索other linker flags,双击Other Linker Flags后面的空白处,点击+,复制上述输出结果中所有的内容:-L/usr/local/lib -Wl .... -lxml2

点击+,继续添加:
-lclangAST -lclangASTMatchers -lclangAnalysis -lclangBasic -lclangDriver -lclangEdit -lclangFrontend -lclangFrontendTool -lclangLex -lclangParse -lclangSema -lclangRewrite -lclangRewriteFrontend -lclangStaticAnalyzerFrontend -lclangStaticAnalyzerCheckers -lclangStaticAnalyzerCore -lclangSerialization -lclangToolingCore -lclangTooling -lclangFormat
以及 -lLLDB。

然后,搜索Enable C++ Runtime Types并设置为No:

然后,你就可以在main.cpp中添加下述内容并成功运行了:
- #include "llvm/ADT/StringRef.h"
- #include "clang/Basic/Diagnostic.h"
- step1: mkdir build
-
- step2: cd build
-
- step3: cmake ../project_name
-
- step4: make 或者 cmake --build .
-
- step5(不一定必要,本质就是把生成的二进制文件按照makelist的要求复制到一个地方):make -install
参照Getting Started with the LLVM System — LLVM 20.0.0git documentation执行操作:
- cd llvm-project
-
- cmake -G Ninja -S llvm -B llvm_build \
- -DLLVM_INSTALL_UTILS=ON \
- -DCMAKE_INSTALL_PREFIX='Users/username/Desktop/llvm_install'
-
- ninja -C llvm_build install
-
- cmake -G Ninja -S clang \
- -B clang_build \
- -DLLVM_EXTERNAL_LIT=llvm_build/utils/lit \
- -DLLVM_ROOT=../llvm_install
-
- ninja -C clang_build
-
- # 说明:如果加引号就写绝对路径,如果不加引号就写相对路径