LLVM_Ubuntu安装

一、直接下载编译好的,见图片命令

这里使用llvm官网编译好的包, 直接解压即可用
LLVM下载官网
点击这里下载llvm-6.0.1

下载完成后解压tar -vxf clang+llvm*

在这里插入图片描述

二、下载源代码自己编译安装

免费下载
官网下载
在这里插入图片描述

在这里插入图片描述

  • 直接下载链接
wget https://releases.llvm.org/5.0.0/llvm-5.0.0.src.tar.xz
wget https://releases.llvm.org/5.0.0/cfe-5.0.0.src.tar.xz
wget https://releases.llvm.org/5.0.0/compiler-rt-5.0.0.src.tar.xz
wget https://releases.llvm.org/5.0.0/libcxx-5.0.0.src.tar.xz
wget https://releases.llvm.org/5.0.0/clang-tools-extra-5.0.0.src.tar.xz
# 将上面的文件解压后都放到llvm的目录下
mkdir llvm && cd llvm
mv cfe-5.0.0.src clang
mv clang/ llvm-5.0.0.src/tools/
mv clang-tools-extra-5.0.0.src extra
mv extra/ llvm-5.0.0.src/tools/clang/
mv compiler-rt-5.0.0.src compiler-rt
mv compiler-rt llvm-5.0.0.src/projects/
# 上面运行完后, 路径下只有这俩文件夹
# llvm-5.0.0.src/
# libcxx-5*

mkdir build && cd build
# 下面的命令都在build里面执行
cmake ../llvm-5.0.0.src -DLLVM_TARGETS_TO_BUILD=X86 -DCMAKE_BUILD_TYPE=Release -DLLVM_USE_LINKER=gold
# 执行完上面的命令后, 此时llvm里面有三个文件夹, 此时在build文件夹内
# llvm-5.0.0.src/
# libcxx-5*
# build

# 如果上面报错
# M_USE_LINKER=gold
# -- The CXX compiler identification is unknown
# CMake Error at CMakeLists.txt:49 (project):
#   No CMAKE_CXX_COMPILER could be found.
#  Tell CMake where to find the compiler by setting either the environment
#  variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full path
#  to the compiler, or to the compiler name if it is in the PATH.
请安装
sudo apt install -y build-essential

make -j4 # 设置4线程
sudo make install # 安装到本地

在这里插入图片描述

下面提供下载并mv完全的文件包

tar -vxf llvm-clang_5.0.0.tar.gz
mkdir build && cd build
# 下面的命令都在build里面执行
cmake ../llvm-5.0.0.src -DLLVM_TARGETS_TO_BUILD=X86 -DCMAKE_BUILD_TYPE=Release -DLLVM_USE_LINKER=gold
#如果上一步出错, 
#执行下面命令后重新cmake
sudo apt-get install -y build-essential
# 执行完上面的命令后, 此时llvm里面有三个文件夹
# llvm-5.0.0.src/
# libcxx-5*
# build

make -j4 # 设置4线程
sudo make install # 安装到本地

三、安装LLVM编译器

网络上有很多关于Linux使用LLVM, 但是安装超级繁琐, 需要去官网下载多个不同的文件, 加压到Ubuntu,在配置好各种参数, 然后在编译运行生成make安装文件, 然后在安装…很好奇为何需要这么繁琐, 就不能做成一个安装包直接安装吗?
直到我接触到DRL, 需要安装LLVM时, 第一次使用普通教程那样, 下载文件编译运行生成make,在使用make install进行LLVM安装
第二次: 发现可以直接使用apt install直接插入

sudo apt install clang-6.0 # 在系统里面安装LLVM-clang
sudo apt-get install python-clang-6.0  # 给Python安装clang
pip install clang # 给Python安装clang使用包
clang -v  #测试clang版本
clang test.c -o test   # 编译test.c文件, 生成可执行二进制文件test
./test  # 执行可执行文件test

*最简单的安装方式

# 安装依赖
apt install -y cmake build-essential ninja-build git 

# 下载源码并选择版本
git clone https://github.com/llvm/llvm-project.git
cd llvm-project 
git checkout llvmorg14.0.2 # 这里可以用git tag 检测以往版本

# 编译安装
mkdir build && cd build 
cmake -G Ninja -DCMAKE_BUILD_TYPE="Release" -DLLVM_ENABLE_PROJECTS="clang" -DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi" ../llvm
ninja && ninja install -j4
ninja install

# 检测版本, 测试成功
llvm-as --version
clang --version
  • 22
    点赞
  • 79
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 7
    评论
好的,我来提供更详细的步骤。 1. 下载 LLVM 6.0 源代码 首先,你需要从 LLVM 官网上下载 LLVM 6.0 的源代码。你可以从这个链接中找到 LLVM 6.0 的源代码:https://releases.llvm.org/download.html#6.0.0 在下载页面中,你可以选择下载源代码的 tar 包或 zip 包。下载完成后,解压源代码到本地目录中。 2. 安装依赖库 在编译 LLVM 之前,你需要安装一些必要的依赖库。具体来说,你需要安装 CMake、GCC、Python 和 LLVM 的依赖库。你可以使用以下命令来安装这些依赖库: Ubuntu / Debian: ``` sudo apt-get install cmake gcc python libxml2-dev libedit-dev libncurses5-dev ``` CentOS / RedHat: ``` sudo yum install cmake gcc python libxml2-devel ncurses-devel ``` 3. 编译 LLVM 接下来,你需要使用 CMake 来构建 LLVM。在构建 LLVM 时,你需要指定一些参数来进行静态编译。具体来说,你需要使用 `-DCMAKE_BUILD_TYPE=Release -DLLVM_BUILD_STATIC=ON` 参数来构建静态版本的 LLVM 库。 在终端中进入 LLVM 源代码目录,创建一个 build 目录,并进入这个目录: ``` cd llvm-6.0.0.src mkdir build cd build ``` 使用 CMake 构建 LLVM: ``` cmake -DCMAKE_BUILD_TYPE=Release -DLLVM_BUILD_STATIC=ON ../ ``` 这个命令将使用 Release 模式构建 LLVM,并构建静态版本的库。 接下来,使用 make 命令编译 LLVM: ``` make -j4 ``` 这个命令将使用 4 个线程编译 LLVM。如果你的机器性能较差,你可以使用更少的线程,例如 `-j2`。 编译完成后,你可以使用以下命令来安装 LLVM: ``` sudo make install ``` 这个命令将安装 LLVM 到系统中。 4. 进行静态编译 编译完成后,你可以在 `/usr/local/lib` 目录下找到 LLVM 的静态库文件。接下来,你可以使用这些静态库文件来进行静态编译。 具体的编译方法取决于你要编译的程序或库。一般来说,你需要使用 `-static` 参数来告诉编译器使用静态库进行编译。例如,使用 GCC 编译 C++ 程序时,你可以这样做: ``` g++ -static -o my_program my_program.cpp -L/usr/local/lib -lLLVM-6.0 ``` 其中,`/usr/local/lib` 是 LLVM 静态库的路径,`-lLLVM-6.0` 指定使用 LLVM 的静态库进行链接。 希望这个回答能够帮到你,如果还有其他问题,欢迎继续提问。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

落子无悔!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值