LLVM 环境配置

这里选择下载源码, 然后编译的安装方式。

下载地址  (在这里可以找到多版本, 多平台的LLVM下载资源)

# 解压源码
sudo tar xvf llvm-project-17.0.6.src.tar.xz # 新建安装目录
sudo mkdir -p /usr/local/llvm
# 新建编译目录
sudo mkdir -p llvm-project-17.0.6.src/build
# 进入编译目录
cd llvm-project-17.0.6.src/build
# cmake (使用Ninja, 并行处理) 生成编译信息, 第一个参数是允许选择要构建的额外 LLVM 子项目。LLVM 项目由多个子项目组成,包括编译器前端、库、工具等。 这里选择 clang 和 lldb (C/C++编译器前端以及LLVM的调试器) 第二个参数是指目标平台是什么, 这里我希望LLVM能够支持x86, ARM两种架构; 第三个参数是关于是否含有调试信息以及优化选项
cmake -G Ninja -DLLVM_ENABLE_PROJECTS="clang;lldb" -DLLVM_TARGETS_TO_BUILD="ARM;X86" -DCMAKE_BUILD_TYPE="Release" -DLLVM_INCLUDE_TESTS=OFF -DCMAKE_INSTALL_PREFIX="/usr/local/llvm" ../llvm
# 编译
ninja -j 2 # 数字是指cpu的核心数
# 安装到安装目录
sudo ninja install
# 添加路径(这个很重要, 不然系统识别不了)
export PATH="$PATH:/usr/local/llvm/bin"# 验证LLVM 是否被正确安装
llvm-config --version # LLVM版本
clang --version # clang 版本
llc --version
opt --version # 这些都是LLVM所包含的工具, 可以通过查看版本来验证是否安装成功

若有相关输出, 则证明是环境搭建成功~

配置成功输出
希望你也能够一次过顺利的配置好LLVM 环境噢, 加油! 你系得嘅💪!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/415690.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c++学习笔记-STL案例-机房预约系统5-学生模块

前言 衔接上一篇“c学习笔记-STL案例-机房预约系统4-管理员模块”,本文主要设计学生模块,从学生登录和注销、申请预约、显示预约、取消预约四个功能进行分析和实现。 目录 8 学生模块 8.1 学生登录和注销 8.1.1 构造函数 8.1.2 学生子菜单 8.1.3 菜…

gitlab 部署项目新分支

公司代码管理平台新切换到gitlab下,上线发版流程随之变更 1新建分支,开发完成,提交新分支 2.去gitlab平台上找到Merge requests 3 点击右上角的New merge request select source branch 选择新建的分支 点击 compare branches and contin…

Vulnhub靶机:driftingblues 7

一、介绍 运行环境:Virtualbox 攻击机:kali(10.0.2.15) 靶机:driftingblues7(10.0.2.23) 目标:获取靶机root权限和flag 靶机下载地址:https://www.vulnhub.com/entr…

鸿蒙应用开发-仿微信消息对话列表

功能介绍: 仿微信消息对话列表,显示发送文本和接收文本,参考文档创建列表。 知识点: 熟悉对List控件的使用。熟悉对Text控制定义,如修改边框等。手动控制列表的跳转。动态添加列表数据。使用构造函数初始化数据。 …

mysql常见的需求,对于关键字的使用

如何使用MySQL将列数据转化为逗号分隔的形式。我们可以使用内置函数GROUP_CONCAT()来实现这个功能 如何使用MySQL将列数据转化为逗号分隔的形式。我们可以使用内置函数GROUP_CONCAT()来实现这个功能,也可以根据实际需求自定义一个函数。这种技术在一些需要对数据进…

【翻译】在Qt Designer中创建主窗口(Main Windows)

原文地址:https://doc.qt.io/qt-6/designer-creating-mainwindows.html Qt Designer 可用于为不同用途创建用户界面,并为每个用户界面提供不同类型的模板。主窗口模板用于创建具有菜单栏、工具栏和停靠窗口部件的应用程序窗口。 通过打开文件菜单并选择…

【新】Unity Meta Quest MR 开发(一):Passthrough 透视配置

文章目录 📕教程说明📕配置透视的串流调试功能📕第一步:设置 OVRManager📕第二步:添加 OVRPassthroughLayer 脚本📕第三步:在场景中添加虚拟物体📕第四步:设置…

DETR 个人理解

DETR 个人理解 目录 DETR 个人理解 概念说明 transformer网络结构 整体流程 损失计算 整体理解 结果说明 论文 代码 参考链接 个人拙见,仅供参考,欢迎指正交流 这篇论文还是挺重要的,因为是transforms用于目标检测的第一篇论文&am…

【征服redis2】redis的事务介绍

目录 目录 1.redis事务介绍 2 事务出错的处理 3.Java如何使用redis事务 1.redis事务介绍 在前面我们介绍了redis的几种典型数据结构和应用,本文我们来看一下redis的事务问题。事务也是数据库的重要主题,熟悉关系型数据库的读者应该对事务比较了解&a…

openGauss学习笔记-202 openGauss 数据库运维-常见故障定位案例-不同用户查询同表显示数据不同

文章目录 openGauss学习笔记-202 openGauss 数据库运维-常见故障定位案例-不同用户查询同表显示数据不同202.1 不同用户查询同表显示数据不同202.1.1 问题现象202.1.2 原因分析202.1.3 处理办法 openGauss学习笔记-202 openGauss 数据库运维-常见故障定位案例-不同用户查询同表…

FPGA之分布RAM(1)

SLICEM 资源可以实现分布式 RAM。可以实现的 RAM 类型: 单口 RAM 双端口 简单的双端口 四端口 下表给出了通过1SLICEM中的4个LUT可以实现的RAM类型 1.32 X2 Quad Port Distributed RAM 我们介绍过把 6 输入 LUT 当作 2 个 5输入 LUT 使用,在这里&a…

【蓝桥杯EDA设计与开发】资料汇总以及立创EDA及PCB相关技术资料汇总(持续更新)

[18/01/2024]:目前为了准备蓝桥杯做一些资料贴,于是写下这一篇博客。 各种资料均来源于网络以及部分书籍、手册等文档,参考不保证其准确性。 如果在准备蓝桥杯,可与我私信共同学习!!!&#xf…