LLVM-3.5 —— 01记,编译 LLVM 3.5.0 clang and clang-query

包括编译:clang clang-tools-extra

0, prepare env


sudo apt install llvm
sudo apt install clang

使用最新的g++ 会出错。


1, source code

$ git clone --recursive
$ cd llvm-project

$ git checkout llvmorg-3.5.0
$ cp -r ./clang ./llvm/tools/
$ mkdir llvm/tools/clang/tools/extra
$ cp -r ./clang-tools-extra/* llvm/tools/clang/tools/extra/
$ ls llvm/tools/clang/tools/extra/


2,修改源代码

直接 cmake make后,会发现如下error:

于是增加了一个 public:

(base) hipper@hipper-G21:~/llvm_3_4_0_ex/browse/llvm-project$ git diff
diff --git a/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h b/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h
index f9df3781257e..f64d66e4fb94 100644
--- a/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h
+++ b/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h
@@ -134,6 +134,7 @@ public:
 //===----------------------------------------------------------------------===//
   template <typename T>
   class IntrusiveRefCntPtr {
+  public:
     T* Obj;

   public:

3,cmake 配置 llvm

3.1 用 cmake 配置 构建 llvm

$ cd llvm-project

$ mkdir build

$ mkdir ../local_d

$ cd build

$ cmake -G "Unix Makefiles"            \
-DCLANG_ENABLE_STATIC_ANALYZER=1     \
-DLLVM_ENABLE_ASSERTIONS=On          \
-DCMAKE_BUILD_TYPE=Debug             \
-DCMAKE_INSTALL_PREFIX=/home/hipper/llvm_3_4_0_ex/browse/local_d   \
-DLLVM_ENABLE_LIBCXX=1               \
-DLLVM_ENABLE_PROJECTS="all"         \
 ../llvm

3.2 使用configure 来配置构建llvm

跟上一篇记录的 llvmorg-3.4.0 的构建过程一样

./configure --prefix=/home/hipper/llvm_3_4_0_ex/browse/local_d

make -j

make install

4, 编译安装

make -j install

5,测试


clang-query

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值