在Ubuntu中编译LLVMclang(以便支持z3的使用)
Posted 白马负金羁
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Ubuntu中编译LLVMclang(以便支持z3的使用)相关的知识,希望对你有一定的参考价值。
LLVM是一个自由软件项目,它是一种编译器基础设施,以C++写成。其发端源于2000年伊利诺伊大学厄巴纳-香槟分校(UIUC)的Vikram Adve教授与其第一个博士生Chris Lattner的研究。LLVM的命名最早源自于底层虚拟机(Low Level Virtual Machine)的首字母缩写,但现在这个项目的范围早已大大超越其最初的意思。当前,LLVM已经发展成为被用于开发从编译器前端到后端的一套模块及可重用的编译器及工具链技术的集合。
阅读本文之前,这里先说明三点:
- 通常情况下,如果你只是要把clang作为一个编译器来使用,可直接下载已经编译好的binary文件。要完成这项工作,在Ubuntu里只要一行命令即可,如此本文后续内容并不符合你的需求。
- 如果你要研究clang或者LLVM本身,或者基于它们进行二次开发,又或者你需要用到带z3支持的Clang Static Analyzer,那么你就需要自己build这套系统了,本文主要针对这类需求。例如遇到下列错误提示:fatal error: error in backend: Clang was not compiled with Z3 support, rebuild with -DCLANG_ANALYZER_ENABLE_Z3_SOLVER=ON 或 fatal error: error in backend: Clang was not compiled with Z3 support, rebuild w
以上是关于在Ubuntu中编译LLVMclang(以便支持z3的使用)的主要内容,如果未能解决你的问题,请参考以下文章
使用 clang-cl 在 Visual Studio 2019 中使用 Openmp 4/5