如何通过Ninja构建LLVM12(以及build.ninja未找到问题解决)

1 篇文章 0 订阅
1 篇文章 0 订阅

1.本文在ubuntu20.04下安装构建LLVM12,其中需要配置前提环境,包括(gcc/g++,make,cmake ninja),安装如下:

gcc/g++安装:

sudo apt-get install g++

gnu make安装:

sudo apt-get install make

cmake安装:

sudo apt-get install cmake

ninja安装:

sudo apt install ninja-build

2. LLVM12安装

2.1项目主体下载(2选1)

2.1.1git clone下载安装(ubuntu下 下载非常缓慢 通常需要修改DNS域名来加快下载速度):

git clone https://github.com/llvm/llvm-project.git//可以选择指定release版本为12下载

2.1.2源代码下载安装:

1)可通过windows先点击进入LLVM git社区 选择LLVM12版本,链接如下:

​​​​​​​​​​​​​https://github.com/llvm/llvm-project/releases/tag/llvmorg-12.0.0

 2)找到如下压缩包点击下载,将其解压并重命名为llvm-project文件到Home下

 2.2 通过Ninja构建LLVM

2.2.1首先在llvm project下创建build文件夹。并附上LLVM 目录树如下:

-llvm project

        -build

        -llvm

        -等等其他开发工具包

 2.2.2使用cmake编译系统文件。

其中LLVM指出此处编译时含有多个参数可供选择

1) 指定编译哪些目标机器(optional):

-DLLVM_TARGETS_TO_BUILD="X86;AArch64;RISCV"(默认全部)

2) 指定编译哪些项目(optional):

-DLLVM_ENABLE_PROJECTS=clang(此处表明只编译的项目为clang

3) 指定生成的版本是 DEBUG 还是 RELEASE(optional):

-DCMAKE_BUILD_TYPE=Release(默认debug)

4) 指定生成静态库还是共享库(optional)

-DBUILD_SHARED_LIBS=ON( 默认静态库,此处ON表明改为共享)

cmake -G Ninja -DLLVM_TARGETS_TO_BUILD="X86;AArch64;RISCV" -DLLVM_ENABLE_PROJECTS=clang -DBUILD_SHARED_LIBS=ON ../llvm

2.2.3Ninja构建 

ninja -j2

注意:如果上述选择默认构建的话会报错如下:

ninja: error: loading 'build.ninja': No such file or directory

分析发现,我们安装的ninja位于ubuntu下的三个地方,其中可执行文件位于usr/local/bin中;压缩文件ninja.1.gz位于应用程序资源文件目录下。

当上述编译为共享库时才能在build目录编译出build.ninja文件,从而解决上述未找到build.ninja问题。

2.2.4Ninja安装

ninja install

 

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值